作者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