對於我的noob問題感到抱歉,但我無法理解發生了什麼,我有一個接受回調的函數,而不是調用此函數,而是調用一個變量。奇怪的部分是,即時通訊沒有調用變量,當我加載頁面時,它自動運行變量「我」的功能可以解釋發生了什麼?在變量上調用函數
function whoAmI(name,callback) {
if(name === 'James') {
console.log("You are James");
} else {
console.log("You are not James");
}
callback();
}
var me = whoAmI("Joe", function() {
console.log('Calback Finised');
});
你實際上正在調用這個函數。您正在委託該功能,然後在您的whoAmI功能中調用它。 – Gacci
您希望它做什麼?你想要它,所以當你做'我()'時它會被執行嗎? – Keith
函數在JavaScript中只是(可調用的)對象,即它們是任何其他值的值。 'callback'是具有函數作爲其值的變量。 'callback();'解析'callback'的值(即「獲取」函數對象)並執行它('()')。如果你傳遞一個不是函數的值,你會得到一個錯誤。 –