4.JavaScript数值

1.概述

1.1整数和浮点数

JavaScript内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。

1===1.0  //true

1.2数值精度

JavaScript是弱类型的语言,数值精度不是比较高。

1.3数值范围

根据标准,64位浮点数的指数部分的长度是11个二进制位,意味着指数部分的最大值是2047(2的11次方减1)。也就是说,64位浮点数的指数部分的值最大为2047,分出一半表示负数,则JavaScript能够表示的数值范围为21024到2-1023(开区间),超出这个范围的数无法表示。

如果指数部分等于或超过最大正值1024,JavaScript会返回Infinity(关于Infinity的介绍参见下文),这称为“正向溢出”;如果等于或超过最小负值-1023(即非常接近0),JavaScript会直接把这个数转为0,这称为“负向溢出”。

JavaScript提供Number对象的MAX_VALUE和MIN_VALUE属性表示

2.特殊数值

1.NaN

NaN是JavaScript的特殊值,表示“非数字”(Not a Number),主要出现在将字符串解析成数字出错的场合。

2.isFinite函数

isFinite函数返回一个布尔值,检查某个值是不是正常数值,而不是Infinity。(无穷大)

3.与数值相关的全局方法

3.1parseInt()基本用法

parseInt方法用于将字符串转为整数。

parseInt('123') // 123
parseInt('8a') // 8
parseInt('12**') // 12
parseInt('12.34') // 12
parseInt('15e2') // 15
parseInt('15px') // 15

3.2 parseFloat()

parseFloat方法用于将一个字符串转为浮点数。
parseFloat('3.14') // 3.14
parseFloat('314e-2') // 3.14
parseFloat('0.0314E+2') // 3.14
parseFloat('\t\v\r12.34\n ') // 12.34