Rob*_*nik 6 javascript jquery exception tostring internet-explorer-8
当你运行:
window.toString.call("")
Run Code Online (Sandbox Code Playgroud)
一切都很好FF/CH但在IE8中你得到一个脚本错误.事实证明,window.toString.call
在IE8中这是未定义的?
你也可以运行这个:
window.toString instanceof Function;
// false
alert(window.toString);
// function toString() {
// [native code]
// }
Run Code Online (Sandbox Code Playgroud)
为什么这样以及如何解决?我开始想知道jQuery是如何工作的?
Nic*_*itz 14
window
是一个主机对象,ECMAScript语言规范(第3版)不要求从本机Object
对象派生主机对象.在IE(以及可能在其他一些浏览器中)主机对象不是,因此它们不支持任何本机方法或属性(尽管它们可能具有与本机方法或属性相同的方法或属性,可以访问脚本).
如果您只想获得语言实现的默认本机toString
方法,那么您应该使用Object.prototype.toString.call("")
.