[英]What does this javascript code mean?
var myval = (function(){})();
我不明白(function..)
含义甚至代码。
你有什么是:
自我调用匿名函数
您首先通过围绕函数本身进行paranthesis来创建函数表达式。 只是写
function() {
}()
在这种情况下不起作用,因为这将定义一个函数声明。
所以在我们有了之后,我们可以通过追加()
来调用自己
(function() {
})();
要验证,请尝试以下方法:
var myval = (function(){return 'self executed!'})();
alert(myval); // === 'self executed'
function(){}
- 是一个函数表达式,它定义了一个函数 (function(){})
- 像这样包装它确保它被视为表达式 (function(){})()
- Adding ()
调用该函数 然后将返回值分配给变量。
这通常用于允许使用变量而不会污染全局范围。
这将创建一个匿名函数并立即调用它。 例如
(function ($) {
// Original JavaScript code.
})(jQuery);
将允许你在那里使用$
,它等于jQuery
。
这个function(){}
定义了没有主体的匿名函数
(闭包)
。 通过将其包装在大括号中并在末尾添加空参数列表( ()
),您将运行此闭包。 这基本上相当于:
var f = function() {};
f();
这会更容易掌握吗?
(function(x, y, z){})(1, 2, 3)
让我们一块一块地分析它:
这定义了一个匿名函数(即没有名字的函数)
function(){}
当然,在{}
括号之间放置一些指令会更有用。
如果你这样做了
myval = function(){<something>};
您将函数分配给myval(函数,而不是它的返回值!)
那么你可以调用myval()
,它就像调用函数本身一样。
相反,您可以通过将()
放在最后来调用该函数。 因此:
var myval = (function(){})();
调用函数,并在myval
放置结果(这次不是函数本身)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.