gpt4 book ai didi

javascript - Object.prototype.toString() 的目的是什么?

转载 作者:行者123 更新时间:2023-11-29 16:15:08 25 4
gpt4 key购买 nike

我在 underscore.js. 中看到这段代码

在这里,应用了别名:

toString = ObjProto.toString,

但是,要使用 toString 也可以像这样直接访问它,完全不需要使用上面的代码。

toString()

在控制台中尝试它工作正常。在直接代码中尝试一下,它也能正常工作。我的猜测是旧版浏览器可能无法以这种方式访问​​它。

我该如何进一步调查?

Caniuse没有关于它的信息。

Google在前 10 次左右的点击中没有找到任何有用的信息。

因为它在 Object.prototype 上,它可以被继承自 Object 的全局对象访问(仅限那些继承的对象,而不是所有的全局对象),例如 Number。

但我的观点是,它也可以直接访问,而无需使用全局对象实例。

toString(some_var);

这是一个 SO Q/A这表明并非所有浏览器都支持 window.toString 以及为什么会这样。

最佳答案

global objects which inherit from Object,

这是一个错误的假设,global objects are host objects他们可以继承任何他们想要的东西,或者根本不继承任何东西。例如,该代码在 IE10 中不起作用。

存储在 Object.prototype 上的 particular toString 方法肯定是唯一返回内部类名的方法。函数、数组、数字等不继承 Object.prototype toString 方法,而是定义它们自己的 toString 方法,如 Number.prototype.toString !== Object.prototype.toString

关于javascript - Object.prototype.toString() 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17773626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com