javascript – 执行IIFE的不同方法?
作者:互联网
两者之间有什么区别吗?
(function (){alert('')} ())
VS
(function (){alert('')}) ()
两者都有效,但我应该何时使用?
解决方法:
包装括号仅用于强制解析器将构造解析为函数表达式,而不是函数声明.这是必要的,因为调用函数声明是非法的,但调用函数表达式是合法的.
为此,调用括号的位置无关紧要.如何强制将函数解析为表达式也无关紧要.以下也适用:
!function () {
alert('')
}();
~function () {
alert('')
}();
// Any unary operator will work
如果你决定使用包装括号(分组操作符),那么请记住JSLint will tell you to move the invoking parentheses inside.这只是一个风格选择,如果你愿意,你可以忽略它.
标签:iife,javascript 来源: https://codeday.me/bug/20191008/1873735.html