我将javaEnabled()函数分配给这样的变量:
var je = navigator.javaEnabled;
现在当我尝试使用je();
调用该函数时,它会在chrome中抛出错误
VM960:1未捕获的TypeError:非法调用(...)
在Firefox中,错误是:
TypeError:在未实现接口Navigator的对象上调用'javaEnabled'。
为什么会这样失败?
答案 0 :(得分:1)
如果您拨打obj.func()
之类的内容,则会func
调用obj
作为其this
值。 Firefox抱怨this
值不兼容。在您的情况下,它是null
或全局对象(通常为window
),具体取决于上下文和use strict
。 javaEnabled
需要navigator
个对象,只需Object.valueOf()
} Object
。