11 JavaScript Number原始值&对象&科学记数法&范围&进制转换&溢出Infinity&NaN

时间:2022-10-26 04:44:09

JavaScript Number对象

  • 是经过封装的能处理数字值的对象
  • 由Number()构造器创建
  • 只有一种数字类型
  • 可以使用也可以不使用小数点书写数字

JavaScript原始值与对象:

  • 在JavaScript中,除了原始值都是对象
  • 原始值通常包括数字、字符串、布尔值(如果不是用new Object()形式定义的话)
  • 原始值不包含方法和属性

JavaScript数值:始终是64位的浮点数

与其他类型的语言不同,JavaScript始终以64位双精度浮点数来存储数值,0-51存储值,52-62存储指数,63存储符号

数字属性:

  • MAX_VALUE
  • MIN_VALUE
  • NEGATIVE_INFINITY
  • POSITIVE_INFINITY
  • NaN
  • prototype
  • constructor

数字方法:

  • toExponential() 转换成指数计数法
  • toFixed() 四舍五入,如toFixed(2),四舍五入保留2位小数
  • toPrecision() 将数值转换为指定的长度
  • toString()
  • valueOf()

科学计数法:

var y = 123e5 = 12300000;

var z = 123e-5 = 0.00123;

所有JavaScript数字均为64位

JavaScript不是类型语言,不定义不同类型的数字,比如整数,短,长,浮点等等。

JavaScript所有的数字都是64位浮点类型,最大值为±1.7976931348623157 x 10308,最小值为±5 x 10 -324。(位即比特,0和1)

JavaScript进制转换:

  • number.toString(16);输出16位
  • number.toString(8);输出8位
  • number.toString(2);输出2位
<script type="text/javascript" charset="utf-8">
var x = 128;
document.write(x+" 十进制</br>");
document.write(x.toString(16)+" 十六进制</br>");
document.write(x.toString(8)+" 八进制</br>");
document.write(x.toString(2)+" 二进制</br>");
</script>

无穷大(Infinity

  • 当数字运算结果超出了JavaScript所能表示的数字上限(溢出),结果为一个无穷大值,在JavaScript中以Infinity表示。
  • 当负数的值溢出,结果为负无穷大,以-Infinity表示。无穷大的运算结果为保留符号的无穷大。
  • 除0也是无限,带符号。

NAN 非数字值

  • 一般用isNaN()判断是否不是数字.
  • 在JavaScript中,如果数值无法被转换成数字,那么返回NaN.
  • 在JavaScript中,数字可以是数值或者对象.