网站风格有哪些,企业黄页信息查询网,阿里云域名注册查询官网,wordpress卡慢一.使用JSON.stringify()方法#xff1a;
JSON.stringify() 是将一个JavaScript对象或值转换为JSON格式字符串#xff0c;如果最终只得到一个{}#xff0c;就说明他是一个空对象
let obj1 {};
console.log(JSON.stringify(obj1) {}); //true 表示为空对象l…一.使用JSON.stringify()方法
JSON.stringify() 是将一个JavaScript对象或值转换为JSON格式字符串如果最终只得到一个{}就说明他是一个空对象
let obj1 {};
console.log(JSON.stringify(obj1) {}); //true 表示为空对象let obj2 { age:18 };
console.log(JSON.stringify(obj2) {}); //false 表示不为空对象
二.for in 循环判断
使用for…in循环遍历对象属性并使用obj.hasOwnProperty()检查属性是否属于对象本身如果存在任何属性则返回false否则返回true。
//封装判断函数
function isEmptyObject(obj) {for (let key in obj) {if (obj.hasOwnProperty(key))return false;}return true;
}const obj1 {};
//调用
console.log(isEmptyObject(obj1)); // true 表示为空对象const obj2 {age: 18 };
//调用
console.log(isEmptyObject(obj2)); // false 表示不为空对象
三.Object.getOwnPropertyNames()方法
此方法是使用Object对象的getOwnPropertyNames()方法获取到对象中的属性名存到一个数组中返回数组对象我们可以通过判断数组的length来判断此对象是否为空
注意此方法不兼容ie8
const obj1 {};
console.log(Object.getOwnPropertyNames(obj1).length 0); // true //空对象const obj2 { age: 18 };
console.log(Object.getOwnPropertyNames(obj2).length 0); // false //不为空对象
四.使用ES6的Object.keys()方法
主要是获取对象的键名将对象的属性转换成数组通过是否存在键名数组的长度是否为0而判断是否为空
let obj1 {};
console.log(Object.keys(obj1).length 0);//true 空对象let obj2 { age:18 };
console.log(Object.keys(obj2).length 0);//false 不为空对象