

使用JavaScript,可能很难检查对象是否为空。使用Arrays,您可以使用myArray.length轻松检查,但另一方面,对象不能以这种方式工作,检查对象是否为空的最佳方法是使用如下所示的实用程序函数。
function isEmpty(obj) {
for(var key in obj) {
if(obj.hasOwnProperty(key))
return false;
}
return true;
}如果您有一个空对象,可以使用上面的函数检查它是否为空。
var myObj = {}; // Empty Object
if(isEmpty(myObj)) {
// Object is empty (Would return true in this example)
} else {
// Object is NOT empty
}或者,您可以在Object原型上编写isEmpty函数。
Object.prototype.isEmpty = function() {
for(var key in this) {
if(this.hasOwnProperty(key))
return false;
}
return true;
}然后,您可以轻松检查对象是否为空。
var myObj = {
myKey: "Some Value"
}
if(myObj.isEmpty()) {
// Object is empty
} else {
// Object is NOT empty (would return false in this example)
}扩展对象原型并不是最好的事情,因为它可能导致一些浏览器问题和某些框架的其他问题(在某些环境中它也不总是可靠的)。我给出的例子几乎与框架无关。
这是一个很有用的实用函数,特别是如果你每天处理很多对象。
