JavaScript 判断一个对象{}是否为空对象的简单方法

做项目时遇到一个问题,判断一个对象是否为空对象,发现这样判断可以,上代码:

1. 代码1:

?
1
2
3
4
var a = {};
if (!a){ console.log(1);}
else if (a == null ) { console.log(2);}
else { console.log(3);}

结果为:3

2. 代码2:

?
1
2
3
4
var b = {};
if (b == {}){ console.log(4);}
if (b == '{}' ) { console.log(5);}
if ( typeof (b) == 'object' ) { console.log(6);}

结果为:6

3. 代码3:

?
1
2
var c = {};
if (JSON.stringify(c) == "{}" ){ console.log(7);}
?

结果为:7

所以可以使用代码3的方法判断对象是否为空对象{};

如果对象不为空,并且知道对象不为空时,某个属性(比如{id:111})一定存在,则可以里这样判断:

4. 代码4:

?
1
2
3
4
var d = {};
var e = {id:111};
if (d.id){ console.log(8);}
if (e.id){ console.log(9);}

结果为:9

小结:显然代码3的判断方式比较“强势”,但效率明显不如代码4的判断方法

转载链接: http://www.jb51.net/article/94318.htm

你可能感兴趣的:(javascript)