JavaScript!function(){}
这个问题在这里已经有了答案:
!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