2015-10-13 32 views
0

我正在做一個更大的項目,但是當這不起作用時,我做了簡單的版本,看看它是否有效,但是沒有。這是簡化的代碼:使用Javascript:使對象成爲輸入函數

a = new Thing(sayHi); 

function sayHi() { 
    alert("hi"); 
} 

function Thing (callback) { 
    callback; 
} 

我想那是什麼一個Thing創建時,該功能sayHi()被調用,但不起作用。這是爲什麼?謝謝。

回答

3

你只提到了回調函數,而不是,它調用它。相反:

a = new Thing(sayHi); 
 

 
function sayHi() { 
 
    alert("hi"); 
 
} 
 

 
function Thing (callback) { 
 
    callback(); 
 
}

+0

太簡單了,謝謝你:-) –

1

您需要實際調用你的函數。使用callback();代替callback;

0

對函數sayHi的引用已通過但未在任何地方調用。您必須調用回調爲

callback.call();