码迷,mamicode.com
首页 > 其他好文 > 详细

null和undefined

时间:2015-03-21 17:10:57      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:js

说起null跟undefined,相信很多人既熟悉,又迷惑。

null是一个特殊值,常用来描述“空值”,它可以表示数字,字符串和对象是“无值”的,对null执行typeof会得到“object”。

undefined是变量的一种取值,表明变量没有初始化,对undefined执行typeof会得到“undefined”。

因为二者都是表示“值的空缺”,所以判断相等运算符“==”认为二者是相等的,结果为true,需要用“===”将二者区分,此时返回false。

在下面场景中应当使用null:

1.用来初始化一个变量,这个变量可能赋值为一个对象;

2.用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象;

3.当函数的参数期望是对象时,用作参数传入;

4.当函数的返回值期望是对象时,用作返回值传出。

在下面的场景中不应当用null:

1.不要使用null来检测是否传入了某个参数;

2.不要用null来检测一个未初始化的变量。

理解null最好的方式是把它当作对象的占位符。

那些没有被初始化的变量都有一个初始值,即“undefined”,表示这个变量等待被赋值。

所以好的做法是给变量赋一个初始值,这样就可以有效的确保只有在一种情况下typeof才会返回“undefined”:当变量未声明时。

null和undefined

标签:js

原文地址:http://blog.csdn.net/tyleraxin/article/details/44516229

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!