我已經看到,主要是在事件處理函數中,函數叫做Pascal風格,即沒有括號。 myFunction
和myFunction()
之間有區別,如果是這樣,它是什麼?我什麼時候寫myFunction而不是myFunction()來調用函數
0
A
回答
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風格的函數表示沒有首字母大寫的函數名稱。 通過一些約定,只有構造函數應該首字母大寫,因爲調用構造函數作爲常規函數(沒有新建)和常規函數作爲構造函數會引發嚴重的錯誤,這些錯誤很難找到。
相關問題
- 1. JavaScript:函數myFunction(**這是什麼**);
- 2. 是什麼本地函數myFunction的和當地myFunction的=()函數的區別
- 3. MyFunction()vs window.setTimeout('MyFunction()',0)?
- 4. JS $('x')。myfunction不是一個函數
- 5. var myFunction = function(){}; vs function myFunction(){};
- 6. 什麼是「迴歸」做「回到MyFunction的()」
- 7. 錯誤myFunction的(...),那麼是不是一個函數
- 8. 設置$(「。mydiv」)。myFunction();
- 9. 我無法理解爲什麼他們在myFunction(this)和myFunction(x)中使用?竊聽我的心靈
- 10. 結果調用[myFunction的]的未使用
- 11. Javascript onclick =「myfunction()」不工作了
- 12. Property對象的「myFunction的」的翻譯:不是一個函數
- 13. 'myFunction不是函數',JS和Google Maps v 3?
- 14. QTimer未按預期調用myfunction
- 15. 使用和MyClass的:: MyFunction的
- 16. 我如何在Visual Studio 2013中找到[Call MyFunction],但排除['Call MyFunction]
- 17. window.addEventListener('message',myFunction(event))不起作用
- 18. 什麼時候應該使用宏而不是內聯函數?
- 19. $ .myFunction和$ .fn.myFunction之間的區別是什麼?
- 20. def myfunction(silent = False,x,y)部分「silent = False」是做什麼的?
- 21. 在Google應用程序的newTrigger(「myFunction」)中使用參數調用函數
- 22. jquery myfunction沒有定義
- 23. 什麼時候在C++中使用函數引用而不是函數指針?
- 24. 如何在document.ready中調用全局jquery函數。它生成TypeError:$ .myfunction不是函數
- 25. 什麼時候注入構造函數,什麼時候是CDI
- 26. 什麼時候是一個scala部分函數而不是部分函數?
- 27. 什麼時候對javascript函數的objective-c調用被調用/執行,什麼時候不調用?
- 28. 什麼時候應該寫我自己的隨機數算法,而不是使用庫存數學函數?
- 29. 什麼時候使用回調而不是c#中的事件?
- 30. 什麼時候需要調用form.ShowDialog(IWin32Window)而不是form.ShowDialog()?
按帕斯卡風格,我的意思是調用一個沒有參數的函數。如果你看一些Pascal/Delphi代碼,你會看到,當一個沒有參數的函數被調用時,沒有括號。 – Bluefire
我相信在javascript中,即使沒有任何參數,也需要使用括號來調用函數,否則函數本身將被分配給一個變量,而不是它的返回值。 – Stipo