- 数据类型:
- string, number, boolean, null, undefined, object
- 其中,object包括函数,狭义对象,和数组
- 用typeof判断数组和null的类型时,返回object,其余返回对应类型
instanceof
运算符可以区分数组和对象:
var o = {};
var a = [];
o instanceof Array // false
a instanceof Array // true
-
null
是一个表示“空”的对象,转为数值时为0
;undefined
是一个表示"此处无定义"的原始值,转为数值时为NaN。
Number(null) // 0
5 + null // 5
Number(undefined) // NaN
5 + undefined // NaN
undefined == null
// true
- boolean:
除了下面六个值被转为false
,其他值都视为true
。
undefined
null
false
0
NaN
""
或''
(空字符串)
- JavaScript 语言的底层根本没有整数
1 === 1.0 // true
- 数值精度:
根据国际标准 IEEE 754,JavaScript 浮点数的64个二进制位,从最左边开始,是这样组成的。
- 第1位:符号位,
0
表示正数,1
表示负数 - 第2位到第12位(共11位):指数部分
- 第13位到第64位(共52位):小数部分(即有效数字)
其他关键字:isNaN,parseInt, parseFloat, isFinite, Infinity