var myval = (function(){})();
我不理解(function..)
含义甚至其他代码。
答案 0 :(得分:8)
你得到的是:
自行调用匿名函数
您首先通过围绕函数本身进行paranthesis来创建函数表达式。 只是写
function() {
}()
在这种情况下不起作用,因为这将定义一个函数声明。
所以在我们有了这个之后,我们可以通过附加()
(function() {
})();
要验证这一点,请尝试以下方法:
var myval = (function(){return 'self executed!'})();
alert(myval); // === 'self executed'
答案 1 :(得分:8)
function(){}
- 是一个函数表达式,它定义了一个函数(function(){})
- 像这样包装它可以确保它被视为表达式(function(){})()
- 添加()
调用函数然后将返回值赋给变量。
这通常用于允许使用变量而不会污染全局范围。
答案 2 :(得分:2)
这会创建一个匿名函数并立即调用它。例如
(function ($) {
// Original JavaScript code.
})(jQuery);
允许您在其中使用$
,它等于jQuery
。
答案 3 :(得分:1)
这个function(){}
定义了没有正文的匿名函数(closure)。通过将其包装在大括号中并在末尾添加空参数列表(()
),您正在运行此闭包。这基本上相当于:
var f = function() {};
f();
这会更容易掌握吗?
(function(x, y, z){})(1, 2, 3)
答案 4 :(得分:0)
相关链接:
答案 5 :(得分:0)
让我们一块一块地分析它:
这定义了一个匿名函数(即没有名字的函数)
function(){}
当然,在{}
括号之间添加一些指令会更有用。
现在,如果你做了
myval = function(){<something>};
您将函数分配给myval(函数,而不是其返回值!)
那么你可以调用myval()
,它就像调用函数本身一样。
在此,您可以通过将()
放在最后来调用该函数。因此:
var myval = (function(){})();
调用函数,并在myval