JavaScript!function(){}

这个问题在这里已经有了答案:

  • 该功能之前感叹号做了什么? 9个答案

  • !function(a){/* ... */}();
    

    使用一元运算符来调用一个IIFE是常见的做法。 这是一个常见的简写:

    (function(a){/* ... */}());
    

    要么:

    (function(a){/* ... */})();
    

    您也可以用其他一元运算符替换非一元运算符:

    -function(a){ /* ... */ }();
    +function(a){ /* ... */ }();
    /* ... etc. */
    

    给函数调用提供了一个很好的解释https://github.com/airbnb/javascript/issues/44#issuecomment-13063933

    !function () {}();
    

    相当于

    (function(){})();
    

    除了作者正在保存1字节的代码。

    在很多情况下,它是关于节省字节的。

    !function aaa(){}()
    !function bbb(){}();
    

    与此相同:

    !function aaa(){}()
    ;(function bbb(){})();
    

    注意“;” 在最后一点。 这是防御性的,因为它可以保护你的代码免受可能在它之前出现的失控js的影响。

    有趣的是,前段时间我问过同样的问题:

    遇到了我从未见过的大会。 它有什么作用? !功能

    很好的参考:感叹号在函数之前做了什么?

    链接地址: http://www.djcxy.com/p/17423.html

    上一篇: JavaScript !function(){}

    下一篇: what does !function in Javascript mean?