gpt4 book ai didi

javascript - 检查对象是否是对象字面量

转载 作者:行者123 更新时间:2023-11-30 18:07:28 24 4
gpt4 key购买 nike

从这里继续这个问题:Checking for undefined

我想知道一个对象是否是 Array ,现在我需要测试一个对象是否是一个 Object而不仅仅是 Object 的子类

因为此刻 Array如果检查它是否是 Object 的实例,将返回 true .是否有任何其他类型会评估为真?

enter image description here

额外信息

我发现如果你调用toStringArray 上具有一个字符串元素的它解析为该字符串元素而不是 "[object Array]"所以你需要小心。例如:

["str1", "str2"].toString() === "[object Array]"

但是

["str1"].toString() === "str1"

最佳答案

这样测试:

if ({}.toString.call(obj) == '[object Object]') {
// is object
}

if ({}.toString.call(obj) == '[object Array]') {
// is array
}

obj 是任何对象。与 RegExpDate 等对象相同...在旧 IE 中,您可能需要执行 ({}) 才能正常工作

演示: http://jsbin.com/exofup/2/edit

关于javascript - 检查对象是否是对象字面量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15469456/

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