JS判断一个对象为空对象

1.将对象转换为字符串进行比较

stringify用于从一个对象解析出字符串

var a = {};//通过对象字面量方式创建的空对象
var b = new Object();//通过Object构造函数创建的空对象
console.log("对象字面量方式:"+(JSON.stringify(a) == "{}"));
console.log("构造函数方式:"+(JSON.stringify(b) == "{}"));

运行结果:

2.使用for in循环可以遍历对象所有属性来判断对象是否为空对象

for...in 语句用于对数组或者对象的属性进行循环操作。

 1 var a = {};//通过对象字面量方式创建的空对象
 2 var b = new Object();//通过Object构造函数创建的空对象
 3 var c = {a:3};
 4 function isEmptyObject(obj) {
 5     for(var key in obj) {//如果不为空,则会执行到这一步,返回false
 6         return false;
 7     }
 8     return true;//如果为空,则会执行到这一步,返回true
 9 }
10 console.log("对象a:"+isEmptyObject(a));
11 console.log("对象b:"+isEmptyObject(b));
12 console.log("对象c:"+isEmptyObject(c));

运行结果:

参考博客:http://www.cnblogs.com/wangxiaosan/p/5703449.html

原文地址:https://www.cnblogs.com/sunmaer/p/6474297.html