可能重复:
What does this mean? (function (x,y)){…}){a,b); in JavaScript
(function(){
var foo = 'Hello world';
})();
我不知道它的用途是什么?它是什么意思/?
答案 0 :(得分:6)
除了声明一个未使用的变量之外,它本身什么都不做 - 它应该调用其他一些函数来做一些有用的事情。
那就是说,你所拥有的是一个立即调用的函数表达式,即一个匿名函数:
function() { ... }
,没有参数调用:
(f....)();
理由是双重的:
答案 1 :(得分:3)
这是一个立即执行的匿名函数。
我们的想法是创建一个私有范围。通常会从匿名函数返回一个闭包,该函数保留对在该作用域中创建的变量的访问权。
例如
var greet = (function () {
var foo = 'Hello world';
return function () {
alert(foo);
}
}());
greet();
答案 2 :(得分:0)