NaN
,即非数值(Not a Number
)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。例如,在其他编程语言中,任何数值除以非数值都会导致错误,从而停止代码执行。但在ECMAScript
中,任何数值除以非数值会返回NaN
,其他数除以非数值会返回有符号的Infinity
,因此不会影响其他代码的执行。 出自《高程三》
上述中斜体表述有什么问题吗?
NaN
,即非数值(Not a Number
)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。例如,在其他编程语言中,任何数值除以非数值都会导致错误,从而停止代码执行。但在ECMAScript
中,任何数值除以非数值会返回NaN
,其他数除以非数值会返回有符号的Infinity
,因此不会影响其他代码的执行。 出自《高程三》
上述中斜体表述有什么问题吗?
除法会先将操作数转换为数字,然后Applying the /
Operator:
NaN
.NaN
.NaN
; division of zero by any other finite value results in zero, with the sign determined by the rule already stated above.10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
我觉得是经过隐式转换之后还不能成为数字的就是

NaN
。