题目1
请问哪个结果为NaN
A. 123+null
B. 123+‘1’
C. 123/0
D. 123+undefined
在这四个表达式中,只有D. 123 + undefined
的结果是 NaN
,原因如下:
A. 123 + null
- 结果是:
123
- 原因:
null
在数值运算中会被自动转换为0
,所以123 + null
相当于123 + 0
,结果是123
。
B. 123 + '1'
- 结果是:
'1231'
- 原因:
123
是数字,而'1'
是字符串,JavaScript 遇到数字和字符串进行加法运算时,会将数字转换为字符串,然后进行字符串拼接。因此结果是'1231'
(字符串)。
C. 123 / 0
- 结果是:
Infinity
- 原因:在 JavaScript 中,数字除以
0
会得到Infinity
。这不是NaN
,而是 JavaScript 特殊的无穷大值。
D. 123 + undefined
- 结果是:
NaN
- 原因:
undefined
在数值运算中无法被自动转换为有效的数值,因此结果是NaN
(Not a Number)。
总结:
- D.
123 + undefined
结果是NaN
。
题目2
[1,3,4,10,8,78,20].sort()
的结果