基础知识
数据类型
typeof操作符
函数虽是对象返回”function”,null返回“object”。
可对未申明的变量使用却不会报错,返回“undefined”。
Undefined
值仅有undefined表示对象声明后未初始化,null == undefined
Null
值仅有null。空对象指针,若一个变量将来用于放对象就要先设为null,以后检查是否已放对象。
Boolean
值是:true/false。各种数据类型值都可以转换为布尔值,转换使用Boolean()函数。流控制语句隐式调用该函数做转换以确定执行方式。
Object\Symbol对应的布尔值永远是true。
Number
只有这一种类型,包含数字、NaN、Infinity.可使用科学计算法。字面量有十进制、八进制(0开头,严格模式失效)、16进制。计算转为十进制计算。存在舍入误差,
从而不要测试浮点数的值。
范围:Number.MAX_VALUE Num.MIN_VALUE。isFinite()来确定是否在范围之中。
NaN:1、涉及后均返回NaN 2、任何值与之不相等,包括自身。isNaN()函数先对传入的值使用Number()转型,转为数字是false,是NaN为true.
对象的valueOf没重写下为本身,toString()方法Array类型是逗号接字符串,对象是”[object Object]”。
Number()不支持八进制字符串转换,parseInt()可以指定基数,parseFloat()只解析十进制。
String
由16位的Unicode字符系列组成,有时需要转义。null、undefined无toString方法,因为没有原型链。可用String()转型(有toSttring()先用,然后补充null和undefined这两个特殊值)
Boolean()\Number()\String()可做显式的转型函数。