在我們js編寫程序的時候,我們會寫很多函數然後調用它們,那麼這些函數調用的時候什麼時候加()什麼時候不加()?記住以下幾個要點。
(1)函數做參數時都不要括號。
function fun(e) { alert(e); } function A(fun, e) { fun(e); } A(fun, 3);//彈出'3',函數fun當做實參傳入另一個函數時,不加()
(2)函數被調用的時候都要加括號。
看上面那段代碼,第9行函數A被調用的時候是A();
(3)函數作為賦值符號右邊的時候,當無()時傳遞的是函數這個對象,有()時傳遞的是函數的返回值。
function Fun() { return 1; } var a = Fun(); //此時的a = 1 var b = Fun; //b是一個函數的引用
不加()的函數名作為了一個函數的引用,或者說是一個指針,用於傳遞函數所在的位置,需要時找到這個函數去執行。