Javascript学习笔记——3.1 数字

javascript不区分整数和浮点数

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

整形直接量

包括十进制和十六进制,十六进制以0x或0X为前缀

浮点型直接量

实数写法,整数+.+小数
指数计数法写法 2.8E15 3.6e-23

算数运算

简单运算包括加减乘除和求余(%)
复杂运算通过Math对象来实现,比如Math.abs(-5)

NaN和Infinity

js算数运算溢出时不会报错,上溢(overflow)返回无穷大,用Infinity或者-Infinity,下溢(underflow)返回0。所以被0整除返回Inifity或-Inifity,不报错,但0/0返回NaN(not a number)。

0/0 // NaN
1/0 // Infinity
-1/0 // -Infinity
-1/0+3 //-Infinity
Infinity*0 //NaN

js预定义了全局变量Inifity和NaN,表示无穷大和非数字值,它们是只读的,不能被修改(ES5开始)。

NaN有个特性,它和谁都不相等,包括自己,判读一个x是否是NaN不能用x==NaN,而要用x!=x或isNaN(),如果结果是true,则x为NaN。

var p = NaN
p != p //true
isNaN(p) //true

日期时间

js核心包括Date()日期构造函数,用来创建日期和时间对象,所以Date是对象类型,不是原始类型。

你可能感兴趣的:(Javascript学习笔记——3.1 数字)