我在underscore.js中看到了这段代码。
在这里,应用了别名:
toString = ObjProto.toString,
但是,要使用 toString ,它也可以像这样直接访问,完全不用上面的代码。
toString()
在控制台中尝试它工作正常。在直接代码中尝试一下,它也可以正常工作。我的猜测是,较旧的浏览器可能无法以这种方式访问它。
我该如何进一步调查?
Caniuse没有这方面的信息。
谷歌在前 10 次左右的点击中没有找到任何有用的信息。
因为它是 on Object.prototype
,所以它可以被继承自 Object 的全局对象访问(只有那些继承的,而不是所有全局对象),例如 Number。
但我的观点是,它也可以直接访问,而无需使用全局对象实例。
toString(some_var);
这是一个SO Q/A,它表明并非所有浏览器都支持 window.toString 以及为什么会这样。