如何在 JavaScript 中测试空对象
答案:使用Object.keys()
方法
您可以简单地使用 Object.keys()
方法和 typeof
运算符来测试一个空的 JavaScript 对象(不包含可枚举的属性)。 此外,由于 null == undefined
是 true
,obj != null
将捕获 null 和未定义的值。
以下示例中的 isEmptyObject()
函数将检查对象是否为空。 但是,它只会测试普通对象(使用 "{}
" 或 "new Object()
" 创建)。
示例
/* Defining a function */
function isEmptyObject(obj) {
if(typeof obj === 'object' && obj != null && Object.keys(obj).length !== 0){
return false;
} else {
return true;
}
}
/* 测试几个值 */
console.log(isEmptyObject({})); /* Prints: true */
console.log(isEmptyObject({name: "Harry", age: 18})); /* Prints: false */
console.log(isEmptyObject(null)); /* Prints: true */
console.log(isEmptyObject(undefined)); /* Prints: true
*/
如果您使用 jQuery,您可以简单地使用 jQuery.isEmptyObject()
方法来检查对象是否为空。 让我们尝试一个示例来了解它的基本工作原理:
示例
/* Testing few values */
console.log(jQuery.isEmptyObject({})); /* Prints: true */
console.log(jQuery.isEmptyObject({name: "Harry", age: 18})); /* Prints: false */
console.log(jQuery.isEmptyObject(null)); /* Prints: true */
console.log(jQuery.isEmptyObject(undefined)); /* Prints: true
*/
请参阅 JavaScript 对象
上的教程,了解有关创建和操作对象的更多信息。
FAQ 相关问题解答
以下是与此主题相关的更多常见问题解答: