qq

NaN,在Js中非常特殊.NaN是Number对象的一个属性.我们可以通过Number.NaN来取得.所以NaN严格的来说,不是一个数字,但是又具有一些数字的特征比如 typof NaN 为Number.

1.NaN的类型(typeof)是Number
2.NaN无大小,并且NaN不等于NaN!

比如我们上面表中列出的,将字符串abc转换为数字的时候,得到的结果为NaN.原因是abc在数字中没有对应的值,强制转换为数字类型后,得到NaN.
事实上,

NaN也可以参与运算,在js中是这么处理的:

NaN参与数字运算,结果仍然是NaN.
所以: 1+NaN =NaN,1.5+NaN =NaN
NaN参与混合类型计算,遵守数字类型和非数字类型混合运算的规律:
所以:NaN+"abc" 结果:NaNabc;  “abc”+NaN 结果:abcNaN
NaN不等于NaN
所以:NaN==NaN 结果:false; NaN!=NaN 结果:true ;NaN>NaN||NaN<NaN结果:false(小心,这里也是false)

Js中另外一个特殊的数字叫做Infinity,表示正无穷大.在js中在区间-(+)1.7976931348623157E+10308之外的数字都认为是无穷大(负无穷大).同样的,这句话也有两个含义:

1.Infinity的类型是Number
2.Infinity在js中是有限的,但是只要其大(或小)到一定程度,js就会认为其是无穷.
比如 2/0就会产生Infinity.

同样的Infinity有很多特性,Infinity参与数字运算的结果,我总结了一张表:

Infinity+(*)常数Infinity-(/)常数Infinity-(/)InfinityInfinity+(*)InfinityInfinity==InfinityInfinity!=Infinity
InfinityInfinityNaNInfinitytruefalse

运算规则大体上类似与NaN,但是还有些不同
Infinity参与混合类型计算,遵守数字类型和非数字类型混合运算规律

五.补充的几个方法

JS数字类型的几个方法好像不太见到有人用,我用搜索引擎搜的时候,发现造车轮的程序员还大有人在.
1.Number.toFixed(num);
  用途:取得小数点后num位有效数字,运算中会四舍五入.
   举例: (3).toFixed(3),得到3.000;(3.1415926).toFixed(3) ,结果3.142
2.Number.toPrecision(num)
  用途:取num位有效数字,运算中会四舍五入
  举例: (3).toPrecision(3),得到3.00;(3.1415926).toFixed(4) ,结果3.142

 

转载于:https://www.cnblogs.com/q871516337/p/5488078.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值