【发布时间】:2013-03-29 09:53:51
【问题描述】:
在 JavaScript 中这种构造是什么意思:
(function (){
alert("bla");
})();
?
【问题讨论】:
-
嗯.. 至少我知道我的猜测是对的.. 应该发布那个。
标签: javascript
在 JavaScript 中这种构造是什么意思:
(function (){
alert("bla");
})();
?
【问题讨论】:
标签: javascript
此模式的首字母缩写词是“IIFE”或立即调用函数表达式。
它基本上创建了一个匿名函数function(){}
function(){alert("bla");}
然后将其包装为表达式()
(function(){alert("bla");})
然后执行它()
(function(){alert("bla");})()
请注意,此时,您也可以像这样传递参数:
(function(text){alert(text);})("bla")
【讨论】:
这是一个匿名块 - 声明一个匿名函数然后立即执行它,这意味着在块中声明的任何变量都看不到它之外。在这种情况下,使用 alert() 没有区别。
【讨论】:
这是一个匿名函数,加载后会自动执行一次
【讨论】:
在这里您定义了一个要立即执行的匿名函数。
函数声明表示为函数表达式,可以是匿名的,返回新创建的函数的值。它返回新创建的函数的值,所以在它后面加上括号,你可以立即调用它。
【讨论】:
你定义了一个匿名函数,你立即调用它。
另请参阅 What is the purpose of a self executing function in javascript? 以了解构造用途的说明,简而言之,就是让匿名函数中包装的代码保持名称私有。
【讨论】: