数据类型type of
- undefined
- number
- boolean
- string
- object
- funtion
undefined
当使用var声明变量但未对其初始化时,变量类型未undefined
object
如果变量初始化为object或者null,变量类型为object
boolean
只有true和false。
可用Boolean()对numbe|rstring|object|undefined(只适用于undefined类型)进行转换
number
- 浮点数
- 3.125e7等于3.125*10^7
- 浮点数值精度只有17位小数,所以0.1+0.2的结果不为0.3
- 永远不要测试某个特定的浮点数值
- 存在数值范围
- 当超出范围时会变为正无穷与负无穷
NaN
- Not a Number非数值
- NaN与任何数值都不相等,包括自己
NaN == NaN // false
- isNaN()鉴别是不是非数值
- number|boolean可以转换
- String不能转换
object
- 所有实例的基础
- constructor构造函数
- hasOwnProperty检查属性是否存在,要以字符串形式传递
- toString()返回对象的字符串形式
!= & ==
String与Number比较,String转换为Number
Object与Objec比较,指向同一对象返回true
funtion
传进来的变量用数组保存
say(a,b){
return a + b;
}
say(){
return arguments[0] + arguments[1];
}