[問題] undefined null的差別?

作者: lunamiou (○苗○烏)   2013-12-02 01:35:43
看書的前面寫到
var firstName = null;
上面的程式一般用於初始化變數,表示尚不需要為該變數賦與一個實際值;
例如下面的程式,Object的一個實例info_obj的屬性message尚未初始化,
那麼,其值就是null:
var info_obj = new Object();
info_obj.message;
alert(info_obj.message == null); //true
undefined 常數
undefined常數用於尚未初始化的變數或未初始化的
動態物件屬性的特殊值。
例如下面的兩個變數都是undefined
var firstName;
var lastName;
這個跟null有差別嗎?
再看下面的程式,user是Object類別的一個實例,該實例的sex屬性如果
未初始化,那麼其屬性值為undefined,而非null,因為Object並非動態
類別。例如下面的程式:
var user = new Object();
alert(user.sex); //輸出undefined
----------------------------
以上看完還是疑惑,什麼樣的結果是null,什麼會是undefined呢?
這本書寫的「類別」是什麼意思,英文的原文會是?
另外「動態物件屬性」、「動態類別」的意思分別是?
小的才學疏淺,這邊看了幾次還是不太懂,
還請大家指教一下,感激感激~~~ <(__ __)>
作者: jenesis (ゼネシス)   2013-02-02 02:22:00
基本上你只是宣告什麼事都沒對他做就是undefined 就醬
作者: Rplus (R+) (9527)   2013-02-02 02:23:00
雖然我也不是很懂 但第一個輸出其實是 undifined 而非 null=== 跟 == 有時結果會不一樣的 null type 跟undefined 不同比如跟一位口述畫家講要畫一個人只講了要畫褲子,但沒說要畫哪一種褲子(undefined)另一情況是特別提說"不畫褲子"(null)兩種情況的結果都會是沒穿褲子 (== null),但意義有些不同
作者: SansWord (是妳)   2013-02-02 03:26:00
不一樣喔,typeof null 和 typeof undefined 是不同的

Links booklink

Contact Us: admin [ a t ] ucptt.com