常常需要一個函數自執行,可惜這一種寫法是錯的:
程式碼如下:
function(){alert(1);}();
複製程式碼
程式碼如下:
function(){alert(1);}(1 );
綜上,癥結在於,如何明確程式碼描述的是一個函數表達式,而不是函數宣告語句。
正確的寫法多種多樣,也各有利弊:
複製代碼
程式碼如下:
(function(){alert(1);}());
複製程式碼
程式碼如下:
var a=1
(function(){alert(1);}());
複製代碼
代碼如下:
(function(){alert(1);})();
複製程式碼
程式碼如下:
!function(){alert(1);}( );
void function(){alert(2);}();
顯然,加上「!」或「 」等運算符,寫起來是最簡單的。
複製程式碼
複製程式碼 程式碼如下: (function(){alert(1);}());