一、判斷一下對象是否是空對象
let obj1 = {
name:"GG",
say:function () {
console.log("hahaha");
}
};
let obj2 = {};
二、判斷方法
方法一:將對象轉換爲字符串
let str1 = JSON.stringify(obj1);//注意:屬性會被轉換,方法不會
let str2 = JSON.stringify(obj2);
console.log(str1, str2);//返回:{"name":"GG"} {}
console.log(str1 === "{}");//返回:true
方法二:使用getOwnPropertyNames:獲取指定對象所有屬性
let keys1 = Object.getOwnPropertyNames(obj1);//屬性和方法都可以拿到
let keys2 = Object.getOwnPropertyNames(obj2);
console.log(keys1, keys2);
console.log(keys2.length === 0);//true
方式三:使用keys,結果同getOwnPropertyNames
let value1 = Object.keys(obj1);
let value2 = Object.keys(obj2);
console.log(value1, value2);//返回結果同getOwnPropertyNames方法
console.log(value2.length === 0);//true
三、封裝寫法
function isEmptyObj(obj){
//返回true即爲空對象
return Object.getOwnPropertyNames(obj).length === 0;
}