JS常用判断空对像的几种方法

681 阅读1分钟

1.使用JSON.stringify()将对象转成字符串,判断是否等于{}。

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

2.使用for in 循环对象。

var obj = {};
var b=function(){
    for(var key in obj){
        return false;
    }
    return true;
}
console.log(b());//true

3.Object.getOwnPropertyNames()方法,此方法不兼容IE8,原理是将对象的属性值存到一个数组内,并返回这个数组,然后我们可以通过判断数组长度来判断对象是否为空。

var obj = {};
var arr = Object.getOwnPropertyNames(obj);
console.log(arr.length) //0为空

4.ES6中的Object.keys(),跟Object.getOwnPropertyNames()方法的原理类似,也是将对象的属性值存到数组中,并返回这个数组。

var obj = {};
var arr = Object.keys(obj);
console.log(arr.length) //0为空