【发布时间】:2016-06-21 09:59:29
【问题描述】:
我将 javaEnabled() 函数分配给这样的变量:
var je = navigator.javaEnabled;
现在,当我尝试使用 je(); 调用该函数时,它会在 chrome 中引发错误提示
VM960:1 Uncaught TypeError: Illegal invocation(…)
在 Firefox 中,错误是:
TypeError:在未实现接口 Navigator 的对象上调用了“javaEnabled”。
为什么会这样失败?
【问题讨论】:
-
je有 javaEnabled 函数的参考。但它没有被正确的对象调用。您必须将其绑定到navigator对象,例如:let jeb = je.bind(navigator);现在调用jeb()会产生正确的结果。
标签: javascript