JS怎么判断一个对象是否为空

 我来答
嗳尔yr
2018-04-09 · TA获得超过1万个赞
知道小有建树答主
回答量:88
采纳率:100%
帮助的人:3.3万
展开全部

判断一个对象是否为空,介绍如下三种判断方法:

1、直接用for...in...遍历属性,结果为真是“非空数组”,否则是“空数组”,代码如下:

function judgeObj(obj){

for(var a in obj){

return alert('非空对象')

}

return alert('空对象')

}

2、通过JSON自带的.stringify方法来判断,代码如下:

if(JSON.stringify(c)=='{}'){

console.log('空对象');

}

3、ES6新增的方法Object.keys(),代码如下:

if(Object.keys(obj).length==0){

console.log('空对象');

}else{

console.log('非空对象');

}

HelloWorld小码农
2020-10-29 · 专注技术知识文章发表,视频解说
HelloWorld小码农
采纳数:70 获赞数:85

向TA提问 私信TA
展开全部

视频讲解是javascript面向对象编程语言中关于Object类的知识,重点讲解了通过该类中提供的方法hasOwnProperty可以判断属性是否存在。由于面向对象中的继承特性,那么其他对象也会自动拥有该方法。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
剪辑客
2019-01-26 · 更多经典影视精彩镜头尽在剪辑客……
剪辑客
采纳数:825 获赞数:1656

向TA提问 私信TA
展开全部
Javascript语言的设计不够严谨,很多地方一不小心就会出错。举例来说,请考虑以下情况。
现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明。用自然语言描述的算法如下:
if (myObj不存在){
声明myObj;
}

你可能会觉得,写出这段代码很容易。但是实际上,它涉及的语法问题,远比我们想象的复杂。Juriy Zaytsev指出,判断一个Javascript对象是否存在,有超过50种写法。只有对Javascript语言的实现细节非常清楚,才可能分得清它们的区别。
Javascript判断对象是否为空第一种写法
if (!myObj) {
var myObj = { };
}

其它更多方法请参考:https://panxu.net/article/8374.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
可爱的小傻瓜33
2017-01-15 · TA获得超过179个赞
知道小有建树答主
回答量:2292
采纳率:0%
帮助的人:398万
展开全部
var obj = {};

obj == false; // true
// 所以可以这样:
if (obj) {
// 这个意思是把obj强制转换成bool值,故会被转成false然后在if中做判断
// false
} else {
// true
}

// 如果obj不是一个空对象
var obj = {id: 1};

obj == true; // true
// 原理同上

或者 :
var obj=null;
if(!obj){
//TODO:如果为空执行的代码
}

js

实例如下:if (typeof(obj) == undefined) {//操作语句}如果typeof(obj) == undefined 为true则该对象不存在,当前脚本还没有定义该对象
其他的写法要注意:
// 这种方法不起作用
if (x == undefined)//操作语句//
对象属性不存在,
声明了变量但从未赋值。实例:<html<body
<script type=text/javascript
if (typeof(ActiveXObject)==undefined)
{alert(不存在ActiveXObject)}else
{alert(存在ActiveXObject!!)}
</script</body
</html //返回的是:存在ActiveXObject,因为该对象是js里已经制定的对象已经由js定义声明过的,只要是js制定存在的都是非 undefined
但是如果改为:typeof(ActiveXObject1)==undefined 则返回的是不存在了ActiveXObject1
另外typeof(t1)==undefined 如果这个对象不存在于该脚本范围内,或者如果t1 是声明的变量但是没有初始化也就是没有赋值两者都会返回undefined
判断元素是否存在:
<script language=javascript
function changelocation(){
if(document.getElementById(payment_info))
alert('true');else
alert('false');}
</script>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式