對不起,很難拿出一個標題。我仍然對JavaScript不熟悉,有些事情讓我感到困惑。在JavaScript中,當執行getElementById()。onclick = function時,爲什麼function()不是必需的?
這裏是我的代碼
function getRandom() {
document.getElementById('divtest').innerHTML = (Math.floor(Math.random()* 20))
}
document.getElementById('buttontest').onclick = getRandom
所以,通常情況下,在文檔中的某個地方調用函數時,或者就在HTML中添加的onclick =「myFunction的()」即使,我需要寫myFunction的( ),與paranthese。
但是在這裏,當我在getElementById上執行.onclick時,如果我寫= getRandom(),我的代碼就不起作用,它需要成爲= getRandom,如我的代碼段所示。
這是爲什麼?
謝謝!
您正在傳遞該函數的引用。如果你要編寫getRandom(),你會傳遞從函數返回的任何東西,因爲你在onclick發生之前調用函數 – baao
https://quirksmode.org/js/events_tradmod.html#link2 – Bergi
你需要了解差異在**函數調用**和**函數引用**之間,'myFunction()'將執行函數,'myFunction'將通常在給某個函數調用某個函數時給出保證 – Nemani