首页 > 代码库 > 数据类型之简单数据类型
数据类型之简单数据类型
ECMAScript中有五种简单数据类型(基本数据类型):Undefined,Null,Boolean,Number,String。
- Undefined 类型
Undefined类型只有一个值,即Undefined。使用 var 声明变量但没有对其初始化时,这个变量的值就是 undefined。
例如:
var message ; alert(message == undefined); //true
上面的代码只是声明了 message,没有对其初始化,所以 message 的值就是 undefined 。起始它与 var message = undefined ; 是等价的,但我们并没有必要这么做,因为未经初始化的值默认就是undefined 值。
还有,包含 undefined 值的变量与尚未定义的变量是不一样的,
例如:
1 var message ; 2 alert(message); //undefined 3 alert(age); //报错 4 5 alert(typeof message); //undefined 6 alert(typeof age); //undefined
第二行代码显示 message 的值, 即 undefined 。第三行代码由于 alert() 函数是尚未声明的变量 age ,则会导致一个错误。对于未声明过的变量,只能执行一个操作,就是用 typeof 检测其数据类型,不过有意思的是,对未初始化的变量执行 typeof 操作符返回的是 undefined ,对为声明的变量执行 typeof 操作符返回的也是 undefined。虽然这两种变量从技术角度看有着本质的区别,但实际上对哪种变量也不可能执行真正的操作。
- Null 类型
Null 类型也是只有一个值的数据类型,即 null 。从逻辑上看,null 值表示空对象指针,而这正是使用 typeof 操作符检测 null 值会返回 object 的原因,
例如:
var car = null ; alert(typeof null); // object
如果定义的变量准备将来用于保存对象,那么最好把这个变量初始化为 null 。这样一来,只要直接检测 null 值就可以知道相应的变量是否已经保存了一个对象的应用。
例如:
if ( car != null ){ // code ... }
有趣的是 null == undefined 为 true,实际上,undefined 值是派生自 null 值的,因此 ECMA-262 规定他们的想等性测试要返回 true。
数据类型之简单数据类型