lizhan

导航

javascript 入门之 基本语法

undefined 和 null

如果声明了对象,但是没有赋值的话,那它的类型为 undefined 。声明了对象,但是还不想为它指定任何类型,可以赋值为 
null 。注意在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN (不是一个数字)。
var bestAge = null;
var muchTooOld = 3 * bestAge; // muchTooOld 的值为 0。
var currentCount;
var finalCount = 1 * currentCount; // finalCount 的值为 NaN,因为 currentCount 为 undefined。

可以不用 
var 关键字声明变量,并赋值。这就是隐式声明。

noStringAtAll 
= ""// 隐式声明变量 noStringAtAll。
不能使用未经过声明的变量。

var volume = length * width; // 错误 — length 和 width 并不存在。

注意不能通过与 undefined 做比较来测试一个变量是否存在,虽然可以检查它的类型是否为“undefined”。在以下的代码范例中,假设程序员想测试是否已经声明变量 x :
// 这种方法不起作用
if (x == undefined)
    
// 作某些操作

// 这个方法同样不起作用- 必须检查
//
 字符串 "undefined"
if (typeof(x) == undefined)
    
// 作某些操作

// 这个方法有效
if (typeof(x) == "undefined")
    
// 作某些操作考虑将 undefined 值与null做比较。someObject.prop == null;如下情况时,比较的结果为 true, 如果属性 someObject.prop 包含 null 值, 如果属性 someObject.prop 不存在。

posted on 2008-07-03 17:10  lizhan  阅读(143)  评论(0)    收藏  举报