# 逻辑与(&&)
1. var a = 0 && 3 // a == 0
2. var b = 2 && 0 // b == 0
3. var c = 3 && false // c == false
4. var d = 2 && 3 // d == 3
5. var e = 2 && 3 && 4 // e == 4
6. var f = 2 && false && 0 // f == false
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
表达式中有条件为false的表达式,返回第一个条件为false的表达式的值。没有则返回最后一个表达式的值。
# 逻辑或(||)
1. var a = 0 || 3 // a == 3
2. var b = 2 || 0 // b == 2
3. var c = 3 || false // c == 3
4. var d = 2 || 3 // d == 2
5. var e = 0 || 3 || 4 // e == 3
6. var f = 0 || false || null // f == null
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
表达式中有条件为true的表达式,返回第一个条件为true的表达式的值。没有则返回最后一个表达式的值
转换规则:
1. 对象为true
2. 非零数字为true
3. 非空字符串为true
4. 其他为false
1
2
3
4
5
2
3
4
5