作项目时遇到一个问题,判断一个对象是否为空对象,发现这样判断能够,上代码:
1. 代码1:web
var a = {}; if(!a){ console.log(1);} else if(a == null) { console.log(2);} else { console.log(3);}
结果为:3
2. 代码2:svg
var b = {}; if(b == {}){ console.log(4);} if(b == '{}') { console.log(5);} if(typeof(b) == 'object') { console.log(6);}
结果为:6
3. 代码3:xml
var c = {}; if(JSON.stringify(c) == "{}"){ console.log(7);}
结果为:7
因此可使用代码3的方法判断对象是否为空对象{};
若是对象不为空,而且知道对象不为空时,某个属性(好比{id:111})必定存在,则能够里这样判断:
4. 代码4:对象
var d = {}; var e = {id:111}; if(d.id){ console.log(8);} if(e.id){ console.log(9);}
结果为:9
小结:显然代码3的判断方式比较“强势”,但效率明显不如代码4的判断方法ip