我试图在IE7中的.call
上调用document.attachEvent
函数原型方法。但它显示为未定义。
我还检查了typeof document.attachEvent
,应该显示为function
,但它是object
。
有人能解释一下原因吗?
document.attachEvent.call(this, 'onclick', function () {});
获取此错误
Error: Object doesn't support this property or method
答案 0 :(得分:1)
主机提供的函数不需要是正确的JavaScript函数,只要它们可以被调用即可。这意味着他们不需要继承Function.prototype
(因此可能没有call
或apply
来自Function.prototype
)和typeof
可能无法将它们标识为函数(因为从JavaScript的角度来看,虽然它们可以调用,但它们并不是函数)。
并非所有过时的浏览器都能正常运行,包括IE7。