首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JavaScript中判断一个值是否为对象文字?

如何在JavaScript中判断一个值是否为对象文字?
EN

Stack Overflow用户
提问于 2017-12-30 16:54:16
回答 1查看 142关注 0票数 0

在我有限的对象类型判断经验中,我不知道如何在JavaScript中判断一个值是否是对象文字?我在net.But上搜索了很长一段时间没有use.Please帮助,或者试着提前给出一些如何实现this.Thanks的想法!

解决方案是:如我们所知,我们可以使用'typeof‘或'instanceof’来判断值的类型。例如,要判断一个Array,我们可以使用:

代码语言:javascript
复制
var array=[0,1,2,3,4];
if(Object.prototype.toString.call(array)==='[object Array]'){
    alert('This is an Array!');
}

但是现在我想检查一个值是否是对象字面值,如下所示:

代码语言:javascript
复制
var obj={
    a:2
};

如何判断?我的方法是:

代码语言:javascript
复制
if(obj["__proto__"]["constructor"]===Object){
    alert("This is Object Literal");
}

恐怕这条路走错了。

EN

回答 1

Stack Overflow用户

发布于 2017-12-30 17:00:28

您可以通过将constructor属性与Object匹配来进行检查,如下所示:

代码语言:javascript
复制
var obj={
    a:2
};
console.log(obj.constructor == Object); // true

var arr = [1,2,3];
console.log(arr.constructor == Object); // false

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48032387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档