JavaScript中的数字
一 数字
数字是javascript中的基础数据类型之一,javascript并不区分整型数值和浮点型数值.Javascript采用IEEE 754 标准定义的64位浮格式,基本上类似于Java中的double类型.
javascript支持的数值直接量:整型直接量,八进制和十六进制直接量,浮点型直接量.
二 Number对象
Number 对象,该对象是原始数值的包装对象。在必要时,JavaScript 会自动地在原始数据和对象之间转换。
构造函数 Number() 可以不与运算符 new 一起使用,而直接作为转化函数来使用。以这种方式调用 Number() 时,它会把自己的参数转化成一个数字,然后返回转换后的原始数值(或 NaN)。构造函数通常还用作 5 个有用的数字常量的占位符,这 5 个有用的数字常量分别是可表示的最大数、可表示的最小数、正无穷大、负无穷大和特殊的 NaN 值。类似于c#中的静态成员属性,不能被实例化.
Number.MAX_VALUE |
可表示的最大数字 |
Number.MIN_VALUE |
可表示的最小数字 |
Number.NAN |
特殊的非数字值 |
Number.POSITIVE_INFINITY |
表示正无穷大的特殊值 |
Number.NEGATIVE_INFINITY |
表示负无穷大的特殊值 |
另外还有两个特殊值常量Infinity和NaN,分别表示无穷大和非数字.
NaN != NaN
Infinity == Infinity
Number.POSITIVE_INFINITY:Infinity
Number.NEGATIVE_INFINITY: -Infinity
两个专门的函数用于判断特殊值.
isNaN() |
检测特殊值NaN. NaN !== NaN,但是isNaN(NaN) == true; |
isFinite() |
检测一个数字是否NaN,正无穷大或者负无穷大 |
isNaN()的一个问题:它会隐式的将它的参数转换成数字,所以即便参数是个不能转换成数字的字符串,它也会返回true(转换成了NaN),这样就没用通过类型检测直接进行了判断,如下版本可以解决该问题:
Number.isNaN = function (value) {
return typeof value === 'number' && isNaN(value);
};
三 数字的运算
使用算数运算符(+,-,*,/等)进行运算.或者使用Math对象的函数来进行计算.
参考资料如下(如有侵权请您及时联系我):
javascript权威指南(第五版)
http://www.w3school.com.cn/js/pro_js_referencetypes.asp
http://www.cnblogs.com/ziyunfei/archive/2012/09/19/2690866.html