2014-09-02 63 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