1.使用JSON.stringify()
let obj = {};
JSON.stringify(obj) === '{}' // true
2.使用for in 循环
let obj = {};
function whetherObj () {
for (let key in obj) {
return false;
}
return true;
}
whetherObj(); // true
3.使用ES6~ES8提出的对象方法
- Object.keys() 获取对象所有的键
let obj = {};
Object.keys(obj).length === 0 // true
- Object.values() 获取对象所有的值
let obj = {};
Object.values(obj).length === 0 // true
- Object.entries() 返回一个给定对象自身可遍历属性[key,value]的数组
let obj = {};
Object.entries(obj).length === 0; //true
- Object.getOwnPropertyNames() 返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。
let obj = {};
Object.getOwnPropertyNames(obj).length === 0; // true
4.jquery的isEmptyObject() ,此方法是jquery使用for...in进行封装,使用时需要依赖jquery
let obj = {};
$.isEmptyObject(data); // true
//jquery源码里面也是用 for...in
function isEmptyObject(){
var name;
for (let name in obj) {
return false;
}
return true;
}