感叹号在JavaScript中的功能之前做什么?

!符号表明它是立即调用的函数表达式。

感叹号不会单独调用该函数;您可以将()放在末尾-

!function foo() {}()

()的优先级高于!并立即调用该函数。

您还可以像下面这样提及它-

(function(){})();

!允许表达式返回true。这是因为默认情况下,所有立即调用的函数表达式都返回未定义的值,因此,我们将剩下!未定义,这是真的。