2014-09-02 62 views
0

JavaScript是DEF不是我的主要編程語言,我實踐我想要做簡單的東西,至少我認爲)的JavaScript函數指針

這是我的代碼:

function Log() {} 

Log.format = function (func, facility, text) { 
    func("hellow"); 
}; 

Log.debug = function(facility, text) { 
    Log.format(console.warn); 
}; 

當我打電話Log.debug(「我們」,「deb」);我得到一個Uncaught TypeError:非法調用錯誤。我究竟做錯了什麼?

回答

1

根據瀏覽器的不同,console方法只能在console的環境中調用。嘗試Log.format(console.warn.bind(console));

+0

如果可能,你能說明爲什麼這樣嗎? – Haagenti 2014-09-02 19:10:59

+0

這個工程;) – Haagenti 2014-09-02 19:11:42

+0

至於問題*爲什麼*:我不知道。它在Firefox中不同。 – user123444555621 2014-09-02 19:12:30