<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"><span style="white-space:pre"> </span>ECMAScript中有5种简单数据类型:Undefined、Null、Boolean、Number和String。还有一种复杂数据类型--Object,Object本质上是一组无序的名值对组成。</span>
typeof操作符
鉴于ECMAScript是松散类型的,因此需要有一种手段来检查变量的数据类型--typeof,它返回下列某个字符串:
- ”undefined“-------值未定义
- ”boolean“-------值是布尔值
- ”string“-------如果这个值是字符串
- ”number“--------值是数值
- ”object“-------值是对象或NULL
- ”function“--------值是函数
有时,typeof操作符会返回一些令人困惑但技术上却是正确的值。比如,typeof null 会返回”object“,因为null被认为是空的对象的引用。
Undefined类型
var message;
alert(typeof message); //"undefined"
alert(typeof age); //"underfined"
结果表明,对未初始化和未申明的变量执行typeof操作符都返回undefined值。
Null类型
<span style="white-space:pre"> </span>var car = null;
<span style="white-space:pre"> </span>alert(typeof car); //"Object"
如果定义的变量准备在将来用于保存对象,那么最好将变量初始化为null
Boolean类型
该类型只有两个字面量:true和false
<span style="white-space:pre"> </span>var found = true;
<span style="white-space:pre"> </span>var lost = false;
Number
类型
String类型
Object类型
Object的每个实例都具有下列属性和方法:
- constructor:保存着用于创建当前对象的函数。
- hasOwnProperty(propertyName): 用于给定属性在当前对象实例中是否存在
- isPrototypeof(object):用于检测传入的对象是否是传入对象的原型。
- propertyIsEnumerble(propertyName);用于检测给定的属性是否能够使用for-in语句来枚举。
- toLocalString();返回对象的字符串表示,与执行环境的地区对应。
- toString();返回对象的字符串表示
- valueOf();返回对象的字符串、数值、布尔值表示