【发布时间】:2011-09-22 01:11:30
【问题描述】:
可能重复:
What does this mean? (function (x,y)){…}){a,b); in JavaScript
(function(){
var foo = 'Hello world';
})();
不知道有什么用?它是什么意思/?
【问题讨论】:
标签: javascript
可能重复:
What does this mean? (function (x,y)){…}){a,b); in JavaScript
(function(){
var foo = 'Hello world';
})();
不知道有什么用?它是什么意思/?
【问题讨论】:
标签: javascript
除了声明一个未使用的变量外,它本身什么也不做——它应该调用一些其他函数来做一些有用的事情。
也就是说,你所拥有的是一个立即调用的函数表达式,即一个匿名函数:
function() { ... }
不带参数调用:
(f....)();
理由有两个:
【讨论】:
这是一个立即执行的匿名函数。
这个想法是创建一个私有范围。通常会从匿名函数返回一个闭包,该函数保留对该范围内创建的变量的访问权限。
例如
var greet = (function () {
var foo = 'Hello world';
return function () {
alert(foo);
}
}());
greet();
【讨论】:
【讨论】: