参见英文答案 >
What do parentheses surrounding an object/function/class declaration mean? 7个
我正在阅读js忍者的书秘密,而且我经常看到这样的代码
我正在阅读js忍者的书秘密,而且我经常看到这样的代码
(function(){ something here; })();
解决方法
这个
(function(){ alert('hello'); })();
这些对于像这样的循环很有用
这将失败,因为我将在5秒后等于9
for(var i = 0; i < 10; i++) { window.setTimeout(function(){ console.log(i); },5000) }
所以你可以做到这一点
for(var i = 0; i < 10; i++) { (function(a){ window.setTimeout(function(){ console.log(a); },5000) })(i); }
也适合创建像这样的“私人”范围
(function(){ var test = 'hello'; console.log( test ); // 'hello' }()); console.log( test ); // 'undefined'