2017-11-25 159 views
0

函數式編程函數是值。所以如果一個函數是一個值,爲什麼我不能使用一個變量作爲回調函數?如果函數是值爲什麼不能回調函數是一個變量?

function myFunction() {}作爲回調。

myFunction = function() {}不能用作回調。

下面的測試代碼不起作用,我不知道爲什麼。

'use strict'; 
 
\t 
 
var myFunction; 
 
\t 
 
window.addEventListener('click', myFunction); 
 
\t 
 
myFunction = function() { 
 
    console.log('clicked'); 
 
}
<button id="click">click</button>

回答

1

您錯過其中變量分配給功能的一部分。這發生在稍後再與事件監聽器一起使用。當事件監聽器獲取變量時,變量的值是undefined

如果更改了賦值和變量的使用,它可以正常工作。

Function declarations被吊起,而作業保持原狀。

+0

太感謝你了。我認爲我的功能已經掛起。我會在下次看! – DR01D

相關問題