ECMAScript 5种基本数据类型
Undefined Null Boolean Number String
Boolean
DATE TYPE | VALUES CONVERTED TO TRUE | VALUES CONVERTED TO FALSE |
---|---|---|
Boolean | true | false |
String | Any nonempty string | - -(empty string) |
Number | Any nonzero number(including infinity) | 0,NaN(See the “NaN” section later in this chapter.) |
Object | Any object | null |
Undefind | n/a | undefind |
Number & String
Null
空对象指针
当一个变量是为了保存一个对象,但没办法立即初始化的时候,应该为之分配一个null值。
NaN
任何涉及NaN的操作 (NaN+1)都会返回NaN
NaN与任何值都不相等,包括NaN本身
复杂数据类型
Object
ES不支持任何创建自定义类型的机制,所有的值都是上述6种类型之一。
Typeof运算符用于检测Javascript数据类型, 因为ECMASCRIPT是松散型的,需要typeof来检测变量的数据类型。
Undefind是一个特殊的值,当一个变量声明但未初始化时,就会被赋予Undefind值。bash var message; alert(message == undefind); //true
typeof无法检查出变量到底是声明,未初始化,还是根本没有声明。
数据类型转化
Number( ) String( )
parseInt( ) toString( )
parseFloat( )
Object
创建Object实例:bash var 0 = new Obeject() ; //推荐 var 0 = new Obeject; //不推荐
Object类型所具有的任何属性和方法也同样存在于更具体的对象中
constructor
hasOwnProperty(propertyName)