[問題] undefined null的差別?

看板Ajax作者 (○苗○烏)時間11年前 (2013/12/02 01:35), 編輯推噓2(206)
留言8則, 3人參與, 最新討論串1/2 (看更多)
看書的前面寫到 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

12/02 02:22, , 1F
基本上你只是宣告什麼事都沒對他做就是undefined 就醬
12/02 02:22, 1F

12/02 02:23, , 2F
雖然我也不是很懂 但第一個輸出其實是 undifined 而非 null
12/02 02:23, 2F

12/02 02:23, , 3F
=== 跟 == 有時結果會不一樣的 null type 跟undefined 不同
12/02 02:23, 3F

12/02 02:31, , 4F
比如跟一位口述畫家講要畫一個人
12/02 02:31, 4F

12/02 02:31, , 5F
只講了要畫褲子,但沒說要畫哪一種褲子(undefined)
12/02 02:31, 5F

12/02 02:31, , 6F
另一情況是特別提說"不畫褲子"(null)
12/02 02:31, 6F

12/02 02:31, , 7F
兩種情況的結果都會是沒穿褲子 (== null),但意義有些不同
12/02 02:31, 7F

12/02 03:26, , 8F
不一樣喔,typeof null 和 typeof undefined 是不同的
12/02 03:26, 8F
文章代碼(AID): #1IctDnFH (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1IctDnFH (Ajax)