揭示函数表达式中感叹号的用途
在 JavaScript 中,执行代码时,前面遇到感叹号 (!)函数可能会引发一些问题。让我们深入研究一下它的功能及其在语法中的作用。
JavaScript 的语法规定,以“function foo() {}”形式声明的函数是函数声明,需要调用才能执行。然而,预处理带有感叹号(!)的函数声明会将其转换为函数表达式,后面可以跟括号来立即调用该函数。
代码“!function foo() {}() " 最初可能看起来多余,因为它声明了一个函数,但也执行了它。然而,感叹号在这里有两个用途:
虽然它本质上是一种语法技巧,但该技术允许为立即调用函数表达式 (IIFE) 提供简洁的语法。更明确的代码形式是:“(function(){})();”
最后,感叹号还计算函数的返回值并将其强制转换为布尔值。由于 IIFE 通常不会显式返回值,因此它们返回 undefined,通过感叹号将其强制为 true。通常不使用此布尔结果。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3