标签:返回 情况 dex float nts 失败 乘号 特殊 举例
NaN (not is number) 不是一个数字的意思,在js中整型和浮点数都是Number类型。
除此之外,Number还有一个特殊的值,NaN。
一、可能会产生NaN值的情况
1、表达式计算,
①如果一个表达式包含减号、乘号、除号、,js引擎在计算的时候,会先把表达式的各个部分转换为Number类型,(使用Number()函数转换)。如果转换失败,返回faNaN。
举例:
100 -
‘2a‘
;
// NaN
② 加号 (+) 不会将其两边的变量转化为 Number 类型,这是因为JS表达式的执行顺序是按照运算符的优先级从左到右依次进行的,如果加号 (+) 两边的变量都是 Number 类型时,才会做数字相加运算,如果其中有一个变量是字符串,则会将两边都作为字符串相加。
1 + 3 + ‘56’ = 456
1 + 3 + 5 = 9
2、类型转换
①直接使用ParseInt、ParseFloat、Number函数转化非数字的表达式,返回NaN。
②Number是转换整个数字,ParseInt和ParseFloat是转化遇到第一个非数字的前面部分。
例如
ParseInt(‘123aa‘) //返回123
ParseFloat(‘123aaa‘) //返回123
Number(‘123aaa’)//返回NaN
3、如何判断一个数字是否NAN
isNaN(参数),该函数是判断这个参数使用Number函数转化后的值,所以要判断一个变量本省是否是NaN,不能使用这个函数,使用Number对象的isNaN函数。
Number.isNaN(
‘123‘
);
// false 本身不是NaN
Number.isNaN(
‘abc‘
);
// false 本身不是NaN
Number.isNaN(NaN);
// true 本身是NaN
标签:返回 情况 dex float nts 失败 乘号 特殊 举例
原文地址:https://www.cnblogs.com/2018-05-9-ygk/p/9110266.html