undefined: 聲明了變量,但未賦值。例如:var a;
null:聲明了某一變量,並賦值,只是值為空。例如:var obj = null。
-------------------------------------------------------------------------------------------------------------------
---那么什么時候變量賦值為null,有什么意義?
變量a賦值為Object類型, var a = {name: xiaoming};
當對a進行一系列操作之后,不再需要變量a存在的時候, 人為地賦值a = null ——切斷a與之前堆空間的聯系,便於及時地把存儲了{name: xiaoming}的堆內空間釋放
注意,這只對Object類型(引用型)的變量有意義
-------------------------------------------------------------------------------------------------------------------
需要區分的是:
1. 當未明確聲明變量A時,查找變量A → 找不到、會報錯;
2. 當查找某一對象的屬性a時,找不到則會返回undefined。