js 中null和undefined的区别和用法

js中,每次想知道一个对象是否为空时,首先想到的判断条件是"o==null",但转念一想,感觉还不大安心,又加上“||o== undefined”,这样终于

心满意足了!这就侧面表现出我对null和undefined认知的不足及不自信。而每次查了资料,看过之后又给忘了,所以这里姑且做个笔记!

1.null表示一个对象不存在,即“没有对象”;undefined表示基本类型或对象的值没被定义,也就“缺少值”!所以要判断一个值是否存在可以这样:

objA.valueA === undefined

而要判断一个对象是否为空可以:

objA.valueA == null


2. null和undefined在js中其实没多少区别,比如:

var a = null;
var b = undefined;
if (a == b) {
   alert("一般来说null和undefined在if语句中是相等的");
}
if (!a) {
   alert("null会转为false");
}
if (!undefined) {
  alert("undefined会转为false")
}<pre name="code" class="javascript">alert(typeof undefined);//undefined
alert(typeof null);//object



3.我们写js时,可以设置一个值为null,但不可设置一个值为undefined,即

objA.valueA = undefined;//valueA已存在,再给它设置为undefined肯定不合理嘛。
咱们回过头再看这一句:

if (o == null || o == undefined) {

}
这一句就是说,如果对象o为空或其值没定义的话,就执行代码块中的内容,所以这样判断也是可以的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章