if 的判断
类型 | 结果 |
---|---|
undefined | false |
null | false |
boolean | 直接判断 |
number | +0,-0,nan为false,其他为true |
string | 空字符串为fales,其他为true |
object | true |
例子:
if ("hello") {
console.log("hello")
} 输出 hello
if ("") {
console,log('empty')
} 空字符串结果为false,不输出
if (' ') {
console.log('a')
} 空白字符为true,所以输出a
if ([0]) {
console.log('ayyay')
} 数组的判断结果为true,所以输出ayyay
if ([]) {
console.log('aj')
} 空数组的判断结果为true,所以输出aj
if (-0.00) {
console.log('nihao')
} -0为false,所以不输出
a == b 的判断
将两边转换成数值进行判断
类型 | 转换后的结果 |
---|---|
undefined | NaN |
null | 0 |
boolean | true→1,false→0 |
string | "abc"→nan,"123"→123,"abs33"→nan |
例子:
"" == 0 得到 true
" " == 1 得到 false
"" == false 得到true
!" " == true 得到 false
(先判断空白字符取反,转化为布尔类型,得到false)
"hello" == true 得到 false
("hello"→nan→0 == 1得到 false)
"0" == true 得到 false
"00" == false 得到 true
(00=0)
undefined == null 得到 true
true == {} 得到 fales
(空对象没有value和tostying,即为[object object] )
[] == true 得到 false
网友评论