您的位置:首页 > Web前端 > JavaScript

js 中null和undefined的区别和用法

2018-03-16 10:38 330 查看
js中,每次想知道一个对象是否为空时,首先想到的判断条件是"o==null",但转念一想,感觉还不大安心,又加上“||o== undefined”,这样终于心满意足了!这就侧面表现出我对null和undefined认知的不足及不自信。而每次查了资料,看过之后又给忘了,所以这里姑且做个笔记!1.null表示一个对象不存在,即“没有对象”;undefined表示基本类型或对象的值没被定义,也就“缺少值”!所以要判断一个值是否存在可以这样:[javascript] view plain copyobjA.valueA === undefined  

而要判断一个对象是否为空可以:[javascript] view plain copyobjA.valueA == null  

2. null和undefined在js中其实没多少区别,比如:[javascript] view plain copyvar 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,即[javascript] view plain copyobjA.valueA = undefined;//valueA已存在,再给它设置为undefined肯定不合理嘛。  
咱们回过头再看这一句:[javascript] view plain copyif (o == null || o == undefined) {  
  
}  
这一句就是说,如果对象o为空或其值没定义的话,就执行代码块中的内容,所以这样判断也是可以的。

转载来自:http://blog.csdn.net/jiangzhongwei_/article/details/52032820

参考:http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: