当一个数字直接出现在 JavaScript 程序中时,我们称它为数值直接量( numerical literal )。
JavaScript 采用 IEEE754 标准定义的 64 位浮点格式表示数字,这意味着它能表示的最大值是 ±1.797 693 134 862 315 7×10^308
,最小值是 ±5×10^-324
。
整数精度:-2^53~2^53
( -900719925740992
~ 9007199254740992
), 如果超出这个范围,整数将失去尾数的精确度。
浮点型数据可以具有小数点,它们采用的是传统科学计数法的语法。一个实数值可以被表示为整数部分后加小数点和小数部分。
此外,还可以使用指数法表示浮点型数据,即实数后跟随字母 e 或 E ,后面加上正负号,其后再加一个整型指数。这种计数法表示的数值等于前面的实数乘 10 的指数次幂。
number 数值 , JavaScript 的数值不细分整数和浮点 , 所有的数值都是浮点型 :
检测一个数是否是数值可使用 isFinite 函数 , 因为它会筛除掉 NaN 和 Infinity
typeof 是个非常有用的一元运算符,可以用来检测数据类型。
NaN 是一个数值,它表示一个不能产生正常结果的运算结果。 NaN 不等于任何值,包括它自己。你可以用函数 isNaN(number) 检测 NaN 。
JavaScript 中的整数没有小数部分,也不包含小数点;而浮点数则一定包含小数点和小数部分。 JavaScript 生成的许多内部值,如数组的下标值、数组和字符串的 length 属性等,都由整数组成;浮点数一般是数值除法、特殊值(如 PI )和用户输入的值的结果。
整数和整数相加的结果还是整数;整数和浮点数相加的结果是浮点数;两个浮点数相加的结果一般也是浮点数,但当浮点数的和是一个整数时,结果就会是整数形式。
JavaScript 还可以处理十六进制数和八进制数。在数学表达式中,可以自由使用十进制、十六进制或八进制形式,但最终的显示结果都用十进制表示。进制之间的转换,必须使用用户定义的函数。
在进行算术运算时,注意到运算符两端的值有可能不是数字,那么会尝试将该数据转换为数字,如果能转换为数字,则可以进行算术运算;否则,在运算时肯定会返回非数字常量 NaN 。