1. !function(){}();
2. +function(){}();
等等...
這都是自執行函式表示式的寫法,相當於
(function(){}()); //推薦使用這個
或者(function(){})();
前面的+,!還可以換成其它一元操作符,如:-,~。甚至可以寫成:
true && function (){}();
0 , function(){}();
如果沒有前面的這些符號,解析器會把function認為為乙個函式宣告,
這樣寫:
function foo(){}(); //解析器會報錯,uncaught syntaxerror.
如果這樣寫:
function foo()(1); //它會解析成兩句,乙個函式宣告 function foo(){};和(1);
而在函式前面加上一元操作符後,解析器會認為它是乙個函式表示式,在加上乙個(),就變成了乙個立即執行函式。
參考:
javascript指南 函式
1.函式定義 函式宣告語句 被提前 到外部指令碼或外部函式作用域的頂部,所以以這種方式宣告的函式,可以被在它定義之前出現的 所呼叫。function haha 函式表示式 使用前必須先把它賦值給乙個變數 var haha function 巢狀函式,巢狀的函式可以訪問巢狀它們 或多重巢狀 的函式的引...
javascript 運動函式
本人的水平比較菜,如有錯誤,非常高興指導 function getstyle obj,attr function startmove obj,attr,itarget 30 注 obj 控制移動的目標元素 attr控制目標元素的left 值和right的值 移動的話一般是left值或者是right值...
Javascript函式詳解
js中的函式是物件,每個函式都是function型別的例項,函式名只是乙個指向函式物件的指標,不會和函式繫結。js函式宣告方法如下 方法一 function sum num1,num2 方法二 var sum function num1,num2 注意分號,sum是函式的引用 方法三 var sum...