JavaScript 如何判断一个对象{}是否为空对象

作项目时遇到一个问题,判断一个对象是否为空对象,发现这样判断能够,上代码:
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