了解常见的真值和假值,可以增强判断能力。在使用if判断时,提升编码速度。
了解常见的检测和存在,一样可以增强判断能力,而且是必须掌握的。
数组和对象被视为真值
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
var shoppingCart=['鞋','连衣裙','皮带'];println(Boolean(shoppingCart));var person={};//字面量创建对象// 设置字面量对象属性person.name='huangshiren';person.age=58;person.appetite=3;person.eat=function(){ document.write('正在吃饭');}println(Boolean(person));function println(a){ document.write(a+'<br>');} |
严格等于下的特殊值
false与0与''
| 表达式 | 结果 |
| (false==0) | true |
| (false===0) | false |
| (false=='') | true |
| (false==='') | false |
| (0=='') | true |
| (0==='') | false |
示例
|
1
2
3
4
5
6
7
8
9
10
|
println(false==0);println(false===0);println(false=='');println(false==='');println(0=='');println(0==='');function println(a){ document.write(a+'<br>');} |
null与undefined
null和undefined都是假值。null和undefined相等,undefined和undefined相等,null和null相等。
| 表达式 | 结果 |
| (undefined==null) | true |
| (null==false) | false |
| (undefined==false) | false |
| (null==0) | false |
| (undefined==0) | false |
| (undefined===null) | false |
示例
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
println(undefined==true);println(undefined===true);println(undefined==false);println(undefined===false);println(undefined==null);println(undefined===null);println(undefined==0);println(undefined===0);println(null==0);println(null===0);println(null==false);println(null===false);println(null==true);println(null===true);function println(a){ document.write(a+'<br>');} |
NaN和null
NaN为假值,NaN不等于任何值
| 表达式 | 结果 |
| (NaN==null) | false |
| (NaN==NaN) | false |
1.因为数组和对象都在内存里储存了数据,所以为真值