2013-07-23 55 views
6

我正在看別人的代碼並試圖理解它。他們有括號包圍一個函數調用的名字:圍繞函數名稱的括號是什麼意思?

myButton.onclick = (myFunction)(a, b, c); 

這是不同於:

myButton.onclick = myFunction(a, b, c); 

編輯:

只是爲了增加更多的情況下,函數myFunction的有以下形式:

myFunction = function(a, b, c) { 
    return function() { 
     // do something with a, b, and c 
    } 
} 
+5

U表示括號正確嗎? – aaronman

+3

調用的是將圍繞函數名稱的'()'的返回值。在你的例子中不會有任何影響,但是如果你從一個對象*(又名方法)*中獲取函數。在這種情況下,函數與對象不相關,所以'this'值將是默認值。所以'foo.myFunction()'可能與'(foo.myFunction)()'不同。 –

+3

方括號:'[]',大括號/括號:'{}',尖括號:'< >',括號:'()'。 – Shaz

回答

3

沒有區別。

他們這樣做並且意味着同樣的事情。

相關問題