对象判空
1.将对象转换为JSON字符串,判断是否为‘{}’
1
| var b =data=> (JSON.stringify(data) == "{}");
|
2.for in循环对象
1 2 3 4
| var b =data=> { for(var key in data){return false;} return true }
|
3.jquery的isEmptyObject方法
1
| var b = $.isEmptyObject(data);
|
4.Object.getOwnPropertyNames()方法
该方法会把对象的属性名全部收集到一个数组之中,并把数组返回,判断数组长度是否为0
1 2 3 4 5 6
| var b =data=> { if(Object.getOwnPropertyNames().length==0){ return true; } return false; }
|
5.使用ES6的Object.keys()方法(与4的方法类似)
判断对象中是否包含某个属性
1.判断是否为undefined
1 2 3 4 5
| if (obj2.a){ console.log("对象有此属性") }else { console.log("对象无此属性") }
|
2.in运算符 (但是如果属性在对象的原型链上存在,那么会返回true)
1 2 3 4 5 6
| let obj2 = {a:1} if ("a" in obj2){ console.log("对象或其原型链上有此属性") }else { console.log("对象或其原型链上无此属性") }
|
3.obj.hasOwnProperty() 对象自身属性中含有某属性,返回true。
1 2 3 4 5 6
| let obj2 = {a:1} if (obj2.hasOwnProperty("a")){ console.log("对象上有此属性") }else { console.log("对象上无此属性") }
|