!function () {}();
Run Code Online (Sandbox Code Playgroud) 可能重复:
感叹号在功能之前做了什么?
我今天第一次看到了这样的格式化的函数:
!function(){}();
Run Code Online (Sandbox Code Playgroud)
前面的感叹号是什么?我认为它的功能与:
(function(){})();
Run Code Online (Sandbox Code Playgroud)
但是......这里发生了什么?
我正在读这本书secrets of the js ninja,而且我经常看到这样的代码
(function(){
something here;
})();
Run Code Online (Sandbox Code Playgroud)
为什么我们需要将函数括在括号中?为什么我们之后再添加一对括号?
怎么会
function(){ alert("test123");}()
Run Code Online (Sandbox Code Playgroud)
产生 SyntaxError: Unexpected token (
而
!function(){ alert("test123");}()
Run Code Online (Sandbox Code Playgroud)
提醒"test123"
?