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