带有Not的JavaScript自调用功能

时间:2013-01-01 00:29:55

标签: javascript self-invoking-function

我遇到了这种自我调用功能。什么是“!”?

!function (a) {
    // something
}(1);

我不知道是否存在问题。对不起,如果这是一个副本。

3 个答案:

答案 0 :(得分:4)

通过使用!,它正在评估匿名函数(从而要求它运行)。没有它,你会收到错误。

并且,正如其他人所说,如果您正在分配或评估它,它将反转函数返回的结果。

答案 1 :(得分:0)

除非将函数返回值赋给某些东西,否则not无意义。如果已分配,则左侧将获得自执行功能的结果。结果将是显式返回的值或函数中最后计算的值。

答案 2 :(得分:0)

如果它返回了某些内容,它只会反转结果:

console.log(!(function(a) { return (a == 1); })(1));

将返回false。如果您给0或其他任何内容,则为true。