gpt4 book ai didi

javascript - 为什么在 javascript apply 中给出与直接调用不同的结果?

转载 作者:搜寻专家 更新时间:2023-11-01 05:13:29 25 4
gpt4 key购买 nike

我有以下代码

var d = new Date();
Object.prototype.toString(d); //outputs "[object Object]"
Object.prototype.toString.apply(d); //outputs "[object Date]"

为什么会有这种差异,这是怎么回事?

编辑:

d.toString() // outputs "Tue Nov 06 2012 ..."

那么“[object Date]”中的Date是从哪里来的。是浏览器的 native 代码起作用了吗?

最佳答案

Object.prototype.toString(d);

Object.prototype 转换为字符串并忽略其参数。在

Object.prototype.ToString.apply(d);

d 作为 this 传递给 ToString 方法(就像 d.toString()toString 引用 Object.prototype.toString 被调用),这是该方法所关注的。

参见 Function#applyObject#toString

关于javascript - 为什么在 javascript apply 中给出与直接调用不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13245571/

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