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为空复制代码