JavaScript 中判断对象是否为空

判断 JavaScript 对象是否是一个空的对象,可以遍历对象。若对象拥有任意的实例属性,则对象非空。

1
2
3
4
5
6
7
8
9
10
11
12
/**
* Is #obj empty?
* @param {Object} obj object to be detected.
*/
function isEmptyObject(obj) {
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
return false;
}
}
return true;
}

若 ECMAScript 5 的 Object.keys 可用,则可以判断 Object.keys 返回数组的长度:

1
2
3
4
5
6
7
function isEmptyObject(obj) {
if (typeof Object.keys === "function") {
return Object.keys(obj).length === 0;
} else {
// 遍历对象
}
}

参考资料:

0%