时间:2020-11-23 12:29:59 | 栏目:JavaScript代码 | 点击:次
做项目时遇到一个问题,判断一个对象是否为空对象,发现这样判断可以,上代码:
1. 代码1:
var a = {}; if(!a){ console.log(1);} else if(a == null) { console.log(2);} else { console.log(3);}
结果为:3
2. 代码2:
var b = {}; if(b == {}){ console.log(4);} if(b == '{}') { console.log(5);} if(typeof(b) == 'object') { console.log(6);}
结果为:6
3. 代码3:
var c = {}; if(JSON.stringify(c) == "{}"){ console.log(7);}
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的判断方法