下列表达式中,结果为NaN的是(D)

发布时间 2023-11-10 15:23:02作者: 龙陌

A
123 + null

B
123 / 0

C
123 + '1';

D
123 + undefined;

对于“+”运算,如果一端为字符串,则另一端会被转为字符串进行字符串之间的连接,因此C选项结果为1231,
如果一端为Number类型,另一端为原始数据类型,则另一端会被转为Number类型,再相加,null会被转为0,A选项结果为123,
undefined会被转为NaN,结果也为NaN,因此D选项正确;
B选项,123/0结果为Infinity。

JavaScript 中,允许 0 作为除数,只有 0/0 结果是 NaN,其他数值 /0 结果都是 Infinity

解释一下 NUll 与 Undefined 的区别:

1、两者都是JS中的基本数据类型,也叫原始数据类型

2、两者都只有一个值,即:null 和 undefined

3、undefined 表示 定义一个变量,但是未赋值,即未初始化,则就是undefined

4、null 表示一个不存在的对象。

NaN是一个特殊的数字值(typeof NaN的结果为number),是not a number的缩写,表示不是一个合法的数字。

我理解 数字 + null 等于没加,而 数字 + undefined 等于加了一个不确定的数