js的null undefined学习

原创 2013年12月04日 10:17:04

null 是空对象

//显示object
alert(typeof null);
null 参与数值运算会自动转为0

 

 

undefined是window的一个特殊属性,其值是未定义的

//弹出undefined
alert(typeof undefined);
//弹出true
alert('undefined' in window);

 

undefined参与任何数值运算结果都是NaN

 

备注:NaN是全局对象(window)的另一个特殊属性

例如

alert('NaN' in window);//true

 

Null 和 Undefined
Null 类型只有一个null值

Undefined类型只有一个undefined值

document.getElementById("不存在的元素");//返回null
document.getElementById("不存在的元素").value;//返回的是undefineds

 

ECMAScript认为undefined是从null派生出来的,所以把它们定义为相等的。但是,如果在一些情况下,我们一定要区分这两个值,那应该怎么办呢?可以使用下面的两种方法。

js 代码

alert(null == undefined); //output "true"
alert(null === undefined); //output "false"
alert(typeof null == typeof undefined); //output "false"

 

 

<script>

alert('undefined' in window);//true

alert(typeof null);//object
alert(typeof undefined);//undefined

alert(typeof Null);//undefined
alert(typeof Undefined);//undefined

alert(3+null);//3
alert(3+undefined);//NaN

alert(null == undefined);//true
alert(null === undefined);//falses

alert(document.getElementById("no_exist_obj"));//null
alert(document.getElementById("no_exist_obj").value);//脚本报错

</script>

 备注:

1、typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"

2、js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js的null undefined学习
举报原因:
原因补充:

(最多只允许输入30个字)