null和undefined

来源:互联网 发布:sql多个统计结果 编辑:程序博客网 时间:2024/06/11 00:30

说起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”:当变量未声明时。

0 0
原创粉丝点击