WithCoderWithCoderWithCoder

Javascript基础数据类型之数字

    在Javascript中,原始数据类型包括数字、字符串和布尔值。本文介绍Javascript的数字类型。

    在Java、.Net等其它面向对象语言中,数字有整形、浮点型或单精度(float)及双精度(double)等。但在Javascript中,是不区分整数和浮点数的。Javascript中的所有数字都使用浮点数值表示,它采用64位浮点格式表示数字。这意味着Javascript能表示的最大值是±1.7976931348623157 × 10308,最小值是±5 × 10-324。按照Javascript中的数字格式,它能够表示的整数范围是从- 9007199254740992 ~ 9007199254740992(即-253 ~ 253),包含边界值。如果使用了超过此范围的整数,则无法保证地位数字的精度。然而需要注意的是,Javascript中实际的操作(比如数组索引)则是基于32位整数。

    当一个数字直接出现在Javascript程序中,我们称之为数字直接量(numeric literal)。

    整形直接量

    在Javascript中,用一个数字序列表示一个十进制整数。例如:

0
100
345

      除了十进制的整形直接量,Javascript同样能够识别十六进制值。十六进制直接量以“0x”或“0X”为前缀,其后跟随十六进制数的直接量(数字0 ~ 9,字母a(A)~f(F))。例如:

0x40
0xAF

     尽管ECMAScript标准不支持八进制直接量,但Javascript的某些实现可以运行采用八进制表示整数。八进制直接量以数字0开始,其后跟随一个有0 ~ 7(包含0和7)之间的数字组成的序列。例如:

017
023

    由于Javascript对八进制直接量的支持并不全面,因此最好不要使用以0为前缀的整形直接量。而在ECMAScript6的严格模式下,八进制直接量是命令禁止的。

    浮点型直接量

    浮点型直接量可以含有小数点,它们采用的是传统的实数写法。一个实数由整数部分、小数点和小数部分组成。

    此外,还可以使用指数计数法来表示浮点型直接量,即在实数后面根字母e或E,后面再跟正负号,其后再加一个整形的指数。这种计数的方法表示的数值,是由前面的实数乘以10的指数次幂。

    可以使用以下语法表示:

[digits][.digits][(E|e)[(+|-)]digits]

    例如:

3.14
.123
1.23e10
1.23E-10

   

欢迎分享交流,转载请注明出处:WithCoder » Javascript基础数据类型之数字