1

我试图在 IE7中调用.call函数原型方法。document.attachEvent但它显示为未定义。我也检查过typeof document.attachEvent,应该显示为function但它是object。有人可以解释为什么吗?

document.attachEvent.call(this, 'onclick', function () {});

收到此错误

Error: Object doesn't support this property or method
4

1 回答 1

1

主机提供的函数不需要是正确的 JavaScript 函数,只要它们可以被调用。这意味着它们不需要继承 from Function.prototype(因此可能没有callor apply,它们来自Function.prototype)并且typeof可能不会将它们标识为函数(因为从 JavaScript 的角度来看,虽然它们是可调用的,但它们不是函数)。

并非所有过时的浏览器都使函数成为正确的函数,包括 IE7。

于 2016-12-07T13:35:30.227 回答