2012-09-21 115 views

回答

3

當你想調用一個函數時,你總是使用圓括號。

當您希望它成爲回調函數時,不使用括號就可以使用它的原因是您不希望在將函數分配給該事件時調用該函數。事件觸發時,該事件將調用該函數。

您可以像傳遞任何其他值一樣傳遞函數引用,並在您要調用它時使用括號。示例:

function test() { 
    alert('test'); 
} 

var x = test; // got the reference 
var y = x; // copying it around 
y(); // calling the function 
0

myFunction是函數對象,可以像任何其他對象/變量一樣作爲回調傳遞。 myFunction()調用一個沒有任何參數的函數,該表達式的值是myFunction函數返回的值。

帕斯卡風格的函數不是沒有括號的函數。 Pascal風格的函數表示沒有首字母大寫的函數名稱。 通過一些約定,只有構造函數應該首字母大寫,因爲調用構造函數作爲常規函數(沒有新建)和常規函數作爲構造函數會引發嚴重的錯誤,這些錯誤很難找到。

+0

按帕斯卡風格,我的意思是調用一個沒有參數的函數。如果你看一些Pascal/Delphi代碼,你會看到,當一個沒有參數的函數被調用時,沒有括號。 – Bluefire

+0

我相信在javascript中,即使沒有任何參數,也需要使用括號來調用函數,否則函數本身將被分配給一個變量,而不是它的返回值。 – Stipo

相關問題