1. 对 Undefined 理解
1.1 例子
由上图看出:
已定义 变量message 初始值 == undefined;
1.2 例子
显式设置 变量 message = undefined --> 没有实际意义
message == undefined // true
1.3 例子
var message; // undefined
//var age; //undefined --> 就算是我并没有定义变量age , JavaScript引擎也会返回 undefined.但是 变量age 并没有定义.这是说明变量是松散型
message; // undefined
age; // ReferenceError : age is not defined[引用错误: age 未定义] --> JavaScript引擎解析执行age时候,发现age是不存在的. 合情合理
结合以上2例子说明:
变量定义未赋值 或 变量未定义 JavaScript引擎会返回 undefined.
当JavaScript引擎解析执行未定义变量(如 age)时,JavaScript引擎会返回错误 如: ReferenceError: age is not defined. 再如: message == age // 错误
typeof message; // "undefined"
typeof age; // "undefined" --> 这里我没法解释通... 我的理解是这样的,typeof 只是解析 变量 age,相当于JavaScript引擎解析age时发现age并不存在,然而JavaScript也返回了undefined.所以当typeof age;时JavaScript引擎返回了undefined;
2. Unll 理解
2.1
Unll //我的理解: 表示空对象
实例:
if(car != null) {
//对car对象执行某些操作
}
2.2
alert(null == Undefined) //true
Undefined 派生来自 Null.注意: undefined绝对不是对象.而null可以理解空对象,但也不会是真正的对象,不会具备对象的方法和属性.