当你跑步时:
window.toString.call("")
在 FF/CH 中一切正常,但在 IE8 中出现脚本错误。进一步调查发现,window.toString.call
IE8 中未定义?
您还可以运行这个:
window.toString instanceof Function;
// false
alert(window.toString);
// function toString() {
// [native code]
// }
为什么会这样以及如何解决?我开始想知道 jQuery 最初是如何工作的?
window
是一个宿主对象,并且ECMAScript 语言规范(第三版)不需要从本机派生宿主对象Object
目的。在 IE 中(也可能在其他一些浏览器中),宿主对象不是,因此它们不支持任何本机方法或属性(尽管它们可能具有与本机方法或属性同名的方法或属性,可以访问脚本)。
如果您想要的只是获取语言实现的默认本机toString
方法那么你应该使用Object.prototype.toString.call("")
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)