JS (function(){}()) 请兄弟们解释一下这是咋回事

toss2000 2012-11-08 05:23:42
我做了一个测试
var s = function(){
alert(1111);
}();运行结果是弹出一个框显示1111,
然后把它改为


var s = (function(){
alert(1111);
}());
运行结果还是弹出一个框显示1111,这2种写法到底有啥区别呢?

...全文
1683 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
二楼在胡扯,这个跟闭包根本没关系。 四楼正解,这就是匿名函数的强制执行。
EstherT 2013-11-11
  • 打赏
  • 举报
回复
http://www.cnblogs.com/rainman/archive/2009/05/04/1448899.html 這個說的比較清楚 (function(x, y){ alert(x + y); })(2, 3);
keygle 2013-04-26
  • 打赏
  • 举报
回复
不错。终于明白点了。
toss2000 2012-11-12
  • 打赏
  • 举报
回复
哦原来都是一样的啊,明白了
chen_ya_ping 2012-11-09
  • 打赏
  • 举报
回复
定义好了JS匿名函数后,立即执行 一般最好的写法是: (function(){ alert(1111); })();
bbjbepzz 2012-11-09
  • 打赏
  • 举报
回复
都是一个立即执行的匿名函数,没有区别,第二种执行顺序更清晰一点。
KK3K2005 2012-11-09
  • 打赏
  • 举报
回复
记住 () 是运算符 (表达式)则表达式的结果将会返回 (function(){...})这样就返回了一个函数 但是 当 ()和函数连接在一起的时候 则表示 函数运算 (function(){...})() 一前一后2个括号 就是调用里面的函数让他执行
泡泡鱼_ 2012-11-08
  • 打赏
  • 举报
回复
引用 4 楼 showbo 的回复:
都一样,申明匿名函数后执行 var s = (function(){ alert(1111); }()); 你这个应该意思是 var s = (function(){ alert(1111); })();
+1,传说中的自执行函数
Go 旅城通票 2012-11-08
  • 打赏
  • 举报
回复
都一样,申明匿名函数后执行 var s = (function(){ alert(1111); }()); 你这个应该意思是 var s = (function(){ alert(1111); })();
奇乐二二二 2012-11-08
  • 打赏
  • 举报
回复
还有一个 var z = (function(){ return 'z'; })();
scscms太阳光 2012-11-08
  • 打赏
  • 举报
回复
js难点重点之一闭包:(function(n){})(i)
奇乐二二二 2012-11-08
  • 打赏
  • 举报
回复
跑一下就知道了
<script type="text/javascript">
var q = function(){
    return 'q';
}
alert(q)
 var s = function(){
return 's';
}();

alert(s)
var t = (function(){
return 't';
}());
alert(t)
</script>

87,926

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧