gpt4 book ai didi

Javascript toString 怪癖

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

假设我定义了一个什么都不做的简单函数:function fn() { }

现在,当我运行 toString(fn) 时,我得到“[object Object]”。当我运行 toString.call(fn) 时,我得到“[object Function]”。有谁知道为什么我在使用 call 方法时会得到更具体的类型?

编辑:此行为在通过 FireBug 控制台运行的 FireFox 中表现出来。 toString.constructortoString.call.constructor 都会生成“Function()”。

最佳答案

toString 不接受参数,因此 toString(fn)toString() 相同,它返回一个隐式全局对象,转换为字符串。 toString.call(fn) 调用 global.toString 传递函数对象,但由于 global.toString 是 Object 的方法,结果不同于 Function.toString

关于Javascript toString 怪癖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1882872/

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