编程语言
首页 > 编程语言> > javascript – 执行IIFE的不同方法?

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