作者lunamiou (○苗○烏)
看板Ajax
標題[問題] undefined null的差別?
時間Mon Dec 2 01:35:43 2013
看書的前面寫到
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呢?
這本書寫的「類別」是什麼意思,英文的原文會是?
另外「動態物件屬性」、「動態類別」的意思分別是?
小的才學疏淺,這邊看了幾次還是不太懂,
還請大家指教一下,感激感激~~~ <(__ __)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.224.197.50
1F:推 jenesis:基本上你只是宣告什麼事都沒對他做就是undefined 就醬 12/02 02:22
2F:→ Rplus:雖然我也不是很懂 但第一個輸出其實是 undifined 而非 null 12/02 02:23
3F:→ Rplus:=== 跟 == 有時結果會不一樣的 null type 跟undefined 不同 12/02 02:23
4F:→ Rplus:比如跟一位口述畫家講要畫一個人 12/02 02:31
5F:→ Rplus:只講了要畫褲子,但沒說要畫哪一種褲子(undefined) 12/02 02:31
6F:→ Rplus:另一情況是特別提說"不畫褲子"(null) 12/02 02:31
7F:→ Rplus:兩種情況的結果都會是沒穿褲子 (== null),但意義有些不同 12/02 02:31
8F:推 SansWord:不一樣喔,typeof null 和 typeof undefined 是不同的 12/02 03:26