Js 判断空对象的几种方法

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));


 

你可能感兴趣的:(JS)