BFE.devAI解答 - JavaScript 小测验
9. null and undefined
输出结果为:
[1,2,null,3]
[1,2,null,3]
false
true
false
false
false
true
true
false
false
false
false
false
解析:
JSON.stringify([1,2,null,3])
将数组转换为 JSON 字符串。null
会被转换为null
,输出[1,2,null,3]
。JSON.stringify([1,2,undefined,3])
同上,undefined
会被转换为null
,输出[1,2,null,3]
。null === undefined
判断两个值的数据类型和值是否相等,返回false
。null == undefined
判断两个值是否相等,因为null
和undefined
都表示空值,所以返回true
。null == 0
在双等号比较时,null
会被转换为数字 0,所以返回false
。null < 0
和null > 0
在比较大小时,null
会被转换为数字 0,所以两个表达式都返回false
。null <= 0
和null >= 0
同上,返回true
和false
。undefined == 0
和undefined < 0
和undefined > 0
和undefined <= 0
和undefined >= 0
都会返回false
,因为undefined
在双等号比较和大小比较时会被转换为NaN
,而NaN
和任何值都不相等。