1

可能重复:
函数前的感叹号有什么作用?
!javascript中的前置函数?
javascript函数领先砰!句法

我最近在 javascript 中看到了这种模式:

!function () {
    // do something
}()

关键字前面的 bangfunction应该做什么?我似乎在 intertubez 上找不到任何关于它的信息。

4

1 回答 1

1
function () {
    // do something
}();

这是一个立即调用的函数声明。不能立即调用函数声明;这是一个语法错误。

为了解决这个语法错误,大多数人将 IIFD 括在括号中以强制它成为一个表达式 (IIFE)。

(function () {
    // do something
})();

在这种情况下,他们添加了一个感叹号。

于 2012-09-06T15:02:50.447 回答