JavaScript加号在功能名称前面

我一直在寻找关于自我调用函数的信息,在某个地方我偶然发现了这个符号:

+function(){}

有人可以向我解释一下这个功能前面的标志是什么意思吗?

解决方法:

它强制解析器将该部分视为表达式.这通常用于立即调用的函数,例如:

+function() { console.log("Foo!"); }();

如果没有那个,如果解析器处于一个期望语句(可以是一个表达式或几个非表达式语句)的状态,那么单词函数看起来像是函数声明的开头而不是函数表达式,因此(跟随它(上面一行末尾的那些)将是语法错误(在该示例中,名称的缺失也是如此).使用,它使它成为一个函数表达式,这意味着名称是可选的,并且导致对函数的引用,可以调用它,因此括号是有效的.

  只是其中一个选择.它也可以是 – ,!,〜或任何其他一元运算符.或者,您可以使用括号(这是更常见的,但在语法上也不是更正确或更不正确):

(function() { console.log("Foo!"); })();
// or
(function() { console.log("Foo!"); }());
上一篇:为什么在Python中,=和 – =被认为是分隔符?


下一篇:javascript – PHP增量运算符在公式中返回错误的结果