【JavaScript】 判断空对象区别于null、undefined

本文介绍了一种检测JavaScript中空对象及null的方法,并提供了一个实用的函数实现。通过该函数可以判断一个对象是否为空或者为null,这对于前端开发中清理无效数据非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

{}就是一个空对象,由于没有任何属性和方法,所以可以利用这一特点进行区别:

      
      
1
2
3
4
5
6
7
8
      
      
function isEmpty (object) {
for ( var i in object) {
// 存在属性或方法,则不是空对象
reutrn false;
}
return true;
}

代码测试如下:

      
      
1
2
      
      
isEmpty({}); // true
isEmpty(null); // true

JavaScript里有个坑,即null也是个Object呀!!
如下代码输出:

      
      
1
2
3
4
5
      
      
// 输出 object
console.log(( typeof null));
// 输出 [object Null]
console.log( Object.prototype.toString.call( null));

所以要更加具体的区分出null undefined,稍加改进如下:

      
      
1
2
3
4
5
6
7
8
9
10
11
      
      
function isEmpty ( object) {
if ( object === null || object === undefined) {
return false;
}
for ( var i in object) {
// 存在属性或方法,则不是空对象
reutrn false; // sodino.com
}
return true;
}

About Sodino

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值