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

why use a logical operator in javascript function declaration

本文关键字:逻辑运算符 声明 javascript 函数 为什么      更新时间:2023-09-26

我正在查看一些JavaScript代码,但我不明白为什么在函数声明中使用逻辑运算符(!)。这是一个微小的摘录:

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

我很确定这是一个IIFE(当完成时),它的主要目的是缩小,但这是我所做的。我没有找到任何解释。当代码的其余部分存在时,一切都会正常工作。感谢

这是关于IIFE所需的函数表达式,而不是函数声明。若函数用作表达式,则可以立即调用它。如果它不是表达式的一部分,它就不能,所以这个代码就不能工作:

function(){}()

而这将起作用:

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