我遇到了这种自我调用功能。什么是“!
”?
!function (a) {
// something
}(1);
我不知道是否存在问题。对不起,如果这是一个副本。
答案 0 :(得分:4)
通过使用!,它正在评估匿名函数(从而要求它运行)。没有它,你会收到错误。
并且,正如其他人所说,如果您正在分配或评估它,它将反转函数返回的结果。
答案 1 :(得分:0)
除非将函数返回值赋给某些东西,否则not无意义。如果已分配,则左侧将获得自执行功能的结果。结果将是显式返回的值或函数中最后计算的值。
答案 2 :(得分:0)
如果它返回了某些内容,它只会反转结果:
console.log(!(function(a) { return (a == 1); })(1));
将返回false。如果您给0或其他任何内容,则为true。