例如:当我们在电商项目中,做购物车时,购物车内有商品时是一个页面,但是当我们清空购物车时,页面显示的是另外一个页面,例如:购物是空的页面。此时我们就需要判断商品这个对象是否为空。
例如:在判断对象是否为空时,直接用obj == {},是不可以的。
以下为5种常见的判断对象为空的方法:
- JSON.stringify将对象转为字符串形式,再将其判断是否与'{}'相等
let obj = {};
console.log(JSON.stringify(obj) == '{}');
2. 使用ES6中的object.keys()方法,返回一个包含对象所有属性名的数组,再对数组的长度进行判断是否为0。
let obj = {};
console.log(Object.keys(obj).length == 0);
3. 使用for in循环,来遍历对象的属性名。不为空则返回false,为空返回true
var obj = {};
var aaa= function(obj){
for(let key in obj){
return false;
}
return true;
}
console.log(aaa(obj));
4.使用Object.getOwnPropertyNames()获取对象属性名,存到数组中,再对数组长度进行判断是否为0
var obj = {};
console.log(Object.getOwnPropertyNames(obj) == 0);
5.5.使用jq中的isEmptyObject方法
var obj = {};
console.log($.isEmptyObject(obj));