我一直在寻找有关立即调用函数的信息,在某个地方我偶然发现了这个符号:
+function(){console.log("Something.")}()
有人可以向我解释一下是什么吗+
函数前面的符号意味着/做什么?
它强制解析器处理以下部分+
作为一种表达方式。这通常用于立即调用的函数,例如:
+function() { console.log("Foo!"); }();
如果没有+
在那里,如果解析器处于等待语句(可以是表达式或多个非表达式语句)的状态,则单词function
看起来像函数的开头宣言而不是函数表达所以()
其后(上行末尾的那些)将是一个语法错误(在该示例中,缺少名称也是如此)。With the +
,它使它成为一个函数表达式,这意味着名称是可选的,并且会导致对函数的引用,该函数可以被调用,因此括号是有效的。
+
只是其中一种选择。也可以是-
, !
, ~
,或任何其他一元运算符。或者,您可以使用括号(这更常见,但在语法上或多或少都正确):
(function() { console.log("Foo!"); })();
// or
(function() { console.log("Foo!"); }());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)