一、判断一下对象是否是空对象
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;
}