论坛首页 Web前端技术论坛

Javascript中大括号“{}”的多义性

浏览 13450 次
该帖已经被评为良好帖
作者 正文
   发表时间:2010-05-19  
是这么回事。{} 优先级高。谢谢LZ
0 请登录后投票
   发表时间:2010-05-19  
学习了!
貌似jquery就这么写的
(function(){
...
})(jQuery)
0 请登录后投票
   发表时间:2010-05-19  
incredible 写道
sswh 写道
function(){}()这种写法会出错,也觉得是JS中最令人郁闷和不可思议的地方。

总没有一个很好的解释。

这个答案应该是JavaScript里面关于expression和statement的区别有关系吧

var x = function(){}();  就是对的

当然expressions 和 statements 的却别我也说不全,不透彻

没具体点的。。。
0 请登录后投票
   发表时间:2010-05-20  

 我去查了一下ECMA-262规范,在第12.4节有说明如下: 


 

 

ECMA-232访问地址:

http://www.ecma-international.org/publications/standards/Ecma-232.htm

  • 大小: 8.7 KB
0 请登录后投票
   发表时间:2010-05-20  
還可以。。。
0 请登录后投票
   发表时间:2010-05-24  
兴许讨论一下()的多义性 会更有意思
0 请登录后投票
   发表时间:2010-05-25  
受益了,以前只用function(){} 没想那么多   
0 请登录后投票
   发表时间:2010-05-26  
所以,如果服务端返回的json数据是这样的 {"name":"Tom"}
客户端eval的时候必须加上括号如 obj=eval("("+dataStr+")");
0 请登录后投票
   发表时间:2010-06-01  
收益甚多,以前自己都写得很随意,没想过这方面。
0 请登录后投票
   发表时间:2010-06-08  
总结的很好
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics