在分配给变量之后调用navigator.javaEnabled()

时间:2016-06-21 09:59:29

标签: javascript

我将javaEnabled()函数分配给这样的变量:

var je = navigator.javaEnabled;

现在当我尝试使用je();调用该函数时,它会在chrome中抛出错误

  

VM960:1未捕获的TypeError:非法调用(...)

在Firefox中,错误是:

  

TypeError:在未实现接口Navigator的对象上调用'javaEnabled'。

为什么会这样失败?

1 个答案:

答案 0 :(得分:1)

如果您拨打obj.func()之类的内容,则会func调用obj作为其this值。 Firefox抱怨this值不兼容。在您的情况下,它是null或全局对象(通常为window),具体取决于上下文和use strictjavaEnabled需要navigator个对象,只需Object.valueOf()} Object