“!function(){}”在javascript中的含义是什么?

时间:2012-09-06 15:00:08

标签: javascript

  

可能重复:
  What does the exclamation mark do before the function?
  ! preceding function in javascript?
  javascript function leading bang ! syntax

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

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

function关键字前面的爆炸应该怎么做?我似乎无法在intertubez上找到任何关于它的内容。

1 个答案:

答案 0 :(得分:1)

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

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

为了解决这个语法错误,大多数人将IIFD包含在parens中以迫使它成为表达式(IIFE)。

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

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