Undefined
Undefined类型只有一个值。即undefined.
---所有已申明而没有初始化的变量,默认值都为undefined
---函数没有明确返回值的时候,会默认返回undefined
---null也是object类型的一种
- var s;
- alert(s);//underfined
var s; alert(s);//underfined
- function test(){
- }
- alert(test());//underfined
function test(){ } alert(test());//underfined
Null
Null类型只有一个值,即null
---undefined从null派生而来,二者值相等
---null表示尚未存在的对象,这点和underfined定义不同
-----如何函数或方法返回值为对象,当对象不存在的情况下,返回null
- alert(undefined==null);//true
alert(undefined==null);//true
- alert(typeof null);//object
在JS中,如何获得Undefined呢?这里在两种情况下,可以产生它,其一为:对象的属性并不存在,其二为,声明了变量,但是从不为其赋值。应该引起我们大家注意的是:不能通过与undefined做比较来判断一个变量是否存在。不过我们可以检查它的类型是否为“undefined”。注意,这里的undefined有个“”来包括着。下面举例说明:如果我们想测试是否已经声明了变量x;
// 这种方法不起作用
if (x == undefined)
// 作某些操作
// 这个方法同样不起作用- 必须检查
// 字符串 "undefined"
if (typeof(x) == undefined)
// 作某些操作
// 这个方法有效
if (typeof(x) == "undefined")
// 作某些操作
考虑将 undefined 值与null做比较。
someObject.prop == null;
如下情况时,比较的结果为 true,
如果属性 someObject.prop 包含 null 值,
如果属性 someObject.prop 不存在。
要检查一个对象属性是否存在,可以使用新的 in 运算符:
if ("prop" in someObject)
// someObject 有属性 'prop'
http://hi.baidu.com/studyaspnet/blog/item/6b5bc117b751f50c4b90a7ed.html