Js 判断空对象的几种方法

145 阅读1分钟
var obj = {};

1、转化成 Json 字符串

console.log(JSON.stringify(obj)==="{}");

2、利用Es6 遍历对象的属性: Object.keys(obj)

console.log(Object.keys(obj).length===0);

同理:

Object.values(obj)

console.log(Object.values(obj).length===0);
Object.entries(obj)

console.log(Object.entries(obj).length===0);

3、利用Es6 遍历对象的属性:Object.getOwnPropertyNames(obj)

console.log(Object.getOwnPropertyNames(obj).length===0)

4、利用Es6 遍历对象的属性:Reflect.ownKeys(obj)

console.log(Reflect.ownKeys(obj).length===0)
  • IE兼容有问题,提示:“Reflect”未定义

Object.keys(obj)、Object.getOwnPropertyNames(obj)、Reflect.ownKeys(obj) 返回的都是一个数组,用数组长度,就能判断是否空对象了!

5、 jQuery 源码里判断空对象:for ... in

function isEmptyObject(){
	var name;
	for (name in obj) {
		return false;
	}
	return true;
}
console.log(isEmptyObject(obj));

jQuery 用法

console.log($.isEmptyObject(obj));