JavaScript 检测值

了解常见的真值和假值,可以增强判断能力。在使用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.因为数组和对象都在内存里储存了数据,所以为真值

原文地址:https://www.cnblogs.com/max-hou/p/11053846.html