码迷,mamicode.com
首页 > Web开发 > 详细

js-之NaN和isNaN

时间:2018-05-30 13:18:32      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:返回   情况   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

 

js-之NaN和isNaN

标签:返回   情况   dex   float   nts   失败   乘号   特殊   举例   

原文地址:https://www.cnblogs.com/2018-05-9-ygk/p/9110266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!