『求教』javascript中关于eval的一个疑问
eval参数如果是对象的话,为什么两边要加括号才可以
var str = "{a:true,b:3}";
var obj = eval("("+str+")");
这个括号起的什么作用呢?
js里面(...)表示什么呢?
比如(function(){alert('a');})();
这里面的n多()
同问。。顶一个。。
(funciton(){alert('a');})()
这种写法是直接定义完function后马上执行的写法。。。至于上面那个是为什么就不知道了、、、
下面这个匿名函数包括起来的括号是起到优先级的作用。。个人认为
http://wanyij.blog.51cto.com/46570/43794
可以看到,对于对象声明语句来说,仅仅是执行,并不能返回值。为了返回常用的“{}”这样的对象声明语句,必须用括号括住,以将其转换为表达式,才能返回其值。这也是使用JSON来进行Ajax开发的基本原理之一。在例子中可以清楚的看到,第二个alert语句输出的是undefined,而第三个加了括号后输出的是语句表示的对象。
==
可不可以理解为()的作用是返回里面的内容?
楼主想的太多了,呵呵
知其然不知其所以然。。。郁闷啊
帮顶
看在我这么早就来的份上,给个满意的答案吧
顶你
3楼说的有道理。
3楼说的有道理。
就是你的答案最好了,多谢
相关问答:
我家电脑原来装的是IE7浏览器,但是最近我爸爸动了某个配置,导致IE7环境下不能运行flash和javascript,看sina或者其他新闻网站上都是一块一块空白,登陆twitter也不成功,报:由于不支持javascript,导致不能登陆。 ......
后台:
protected void form_ini2(string id)
{
//处理代码
}
前台:
<script language="javascript">
function DbClickEvent(a ......
如题,已实现连接,发送。未实现实异步接收,请高手指点。最好有完整的例子
javascript请求通信是基于http的,它只是一种运行在浏览器端的脚本语言,不能使用socket,
唯一的解决办法就是写ActiveX插件.
要实现异步 ......
各位使用js的高手. 小弟问几个问题,请大家帮忙解答.困扰了我2个星期了.一直不太明白.
比如 :
Div1 是一个层;
var myitem=new Item(document.getElem ......