JavaScript入门教程

JavaScript简介
JavaScript语法基础
JavaScript流程控制
JavaScript函数
面向对象编程
JavaScript事件
JavaScript DOM
正则表达式
JavaScript BOM
AJAX

专题分析

浏览器兼容性
JS优化
Web前端开发规范
编辑器推荐
总结和笔记

学习助手

对象参考手册
ECMAScript分析
数据中心
QQ交流群

JavaScript Null类型

Null 类型是第二个只有一个值的数据类型(另外一个是 undefined,请查看:JavaScript Undefined类型),这个特殊的值是 null。从逻辑角度来看,null 值表示一个空对象指针,而这也正是使用 typeof 操作符检测 null 值时会返回 "object" 的原因,如下面的例子所示:
var car = null;
alert( typeof car );   // 显示 object
如果定义的变量将被用来保存一个对象,那么最好将该变量初始化为 null 而不是其他值,这样一来,只要直接检查 null 值就可以知道相应的变量是否已经保存了一个对象的引用了,如下面的例子所示:
if (car != null) {
    // 对 car 对象执行某些操作
}
实际上,undefined 值是派生自 null 值的, 因此 JavaScript 规定对它们的相等性测试要返回true,请看下面的例子:
alert(null == undefi ned );  // 显示 true
这里,位于null 和 undefined 之间的相等操作符(==)总是返回true。

尽管 null 和 undefined 有这样的关系, 但它们的用途完全不同。如前所述,无论在什么情况下都没有必要把一个变量的值显式地设置为 undefined,可是同样的规则对 null 却不适用。换句话说,只要目的在保存对象的变量还没有真正保存对象,就应该明确地让该变量保存 null 值。这样做不仅可以体现 null 作为空对象指针的惯例,而且也有助于进一步区分 null 和 undefined。