gpt4 book ai didi

函数表达式前面的 JavaScript 加号

转载 作者:IT老高 更新时间:2023-10-28 11:11:59 30 4
gpt4 key购买 nike

我一直在寻找有关立即调用函数的信息,在某个地方我偶然发现了这种表示法:

+function(){console.log("Something.")}()

有人可以向我解释一下函数前面的 + 符号的含义/作用吗?

最佳答案

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

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

如果没有 + 那里,如果解析器处于期望语句(可以是表达式或多个非表达式语句)的状态,则单词 function 看起来像是函数 declaration 的开头,而不是函数 expression 的开头,因此它后面的 () (在上面的行)将是一个语法错误(在该示例中,缺少名称也是如此)。 加上+,使它成为一个函数表达式,这意味着名称是可选的,并且导致对函数的引用,可以被调用,所以括号是有效。

+ 只是选项之一。它也可以是 -!~ 或任何其他一元运算符。或者,您可以使用括号(这更常见,但在语法上既不正确也不正确):

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

关于函数表达式前面的 JavaScript 加号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13341698/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com