文章导航

JavaScript undefined与null区别

2018-8-16 00:03| 作者: admin| 查看: 2457| 评论: 0|来自: 蚂蚁部落

undefined和null有点类似,都表示"没有"的意思。

然而类似不等于相同,下面就通过代码实例总结一下它们两者之间的区别。

一.数据类型区别:

undefined类型只有一个值,undefined。

null类型只有一个值,null。

也就是说undefined值和null值分别属于不同的数据类型,并且这两个数据类型都只有一个值。

代码实例如下:

[JavaScript] 纯文本查看 复制代码运行代码
console.log(typeof undefined)
console.log(typeof null)

第一行输出没问题,正确打印undefined类型。

第二行打印结果为object,难道null不是null类型。

原因解释:这是ES一个设计失误,原本正确的结果应该是null,现在只能将错就错,或许以后版本会修正此问题。

二.存在场景不同:

(1).undefined通常是未初始化变量的值:

代码实例如下:

[JavaScript] 纯文本查看 复制代码运行代码
let num;
var webName;
console.log(num);
console.log(webName);

两个变量在声明的时候都未曾赋值,打印结果都为undefined。

(2).null通常用来标识一个空对象:

比如当我们用document.getElementBy()方法获取一个元素的时候,如果此元素不存在,那么返回值就是null。

代码实例如下:

[HTML] 纯文本查看 复制代码运行代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<script type="text/javascript"> 
window.onload=function() { 
  let odiv=document.getElementById("shwo");
  alert(odiv);
} 
</script> 
</head> 
<body> 
<div id="show"></div>
</body> 
</html>

一不小心id值写错了,自然无法获取到对应div对象,那么odiv就被赋值为null。

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/16/000530pyyktsrg3x3j1k5z.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

更多数据类型相关知识参阅JavaScript 数据类型一章节。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部