为什么在javascript函数声明中使用逻辑运算符

时间:2016-05-08 13:02:19

标签: javascript

我正在查看一些JavaScript代码,我无法弄清楚为什么在函数声明中使用逻辑运算符(!)。这是一个很小的提取物:

   ! function (a) {

        ! function (a)
        {
            "use strict";
            a.Shorthand = {
                UI: {},
                helpers: {},
                Data: {}
            }
        }(window),  ...
}(!1);

我很确定它是一个IIFE(完成时),它的主要目的是缩小,但这就是我的目标。我没有遇到任何解释。 当剩下的代码存在时,一切正常。 感谢

1 个答案:

答案 0 :(得分:0)

关于函数表达式而不是IIFE的函数声明。如果函数用作表达式,则可以imidiatelly调用它。如果它不是表达式的一部分,那么这段代码就无法工作:

!function(){}()
(function(){}())
(function(){})()
var a = function(){}()

虽然这样可行:

{{1}}