您的位置:首页 > Web前端 > JavaScript

JavaScript中null, undefined 的深入探讨

2009-11-19 15:52 260 查看
null, undefined
相同:
当一个变量的值是null, undefined时,表示:我们声明并定义了一个变量,仅仅是这个变量的值是null, undefined.
被调用者:
将null, undefined作为参数传入"JavaScript内置函数"时,不会出现异常,内置函数返回:null -> null, undefined->undefined
但typeof函数除外。
调用者:
在null, undefined上调用属性,方法会出现异常。

不同:
特殊的typeof函数, typeof null -> "object" typeof undefined -> "undefined"

特别注意:
在JavaScript中,如果一个变量没有声明,也就是不存在的。
被调用者:
将没有声明的变量作为参数传入"任意的JavaScript函数"时,会出现异常,但typeof函数除外。
调用者:
在没有声明的变量上调用属性,方法会出现异常。

特殊的typeof函数, 对一个没有声明的变量,例如:undeclared, typeof undeclared : 返回 "undefined".
因此对一个变量调用typeof 方法是最保险的。例如比较一个变量book, 调用 book == null , book == undefined ,
如果book变量没有声明,则出现异常,但是typeof book 则不会出现任何异常。

函数的参数,和对象的属性,属于已经声明的变量。

对于没有声明的变量,除typeof函数之外, 其它的任何操作,都会出现异常。
对于已经声明的变量,实际它已经是存在,其值需要区分null, undefined, instance(实例)。
调用者:
在null, undefined上调用属性,方法会出现异常。
在instance上调用不存在的属性,不会出现异常,因为对象的属性都是已经声明的变量,
但是调用不存在的方法,则出现异常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: