美文网首页
JavaScript undefined与null区别

JavaScript undefined与null区别

作者: 大前端圈子 | 来源:发表于2019-06-14 19:04 被阅读0次

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

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

一.数据类型区别:

undefined类型只有一个值,undefined。

null类型只有一个值,null。

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

代码实例如下:


`console.log(``typeof` `undefined)`

`console.log(``typeof` `null``)`

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

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

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

二.存在场景不同:

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

代码实例如下:

`let` `num;`

`var` `webName;`

`console.log(num);`

`console.log(webName);`

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

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

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

代码实例如下:

`<!doctype html>`

`<``html``>`

`<``head``>`

`<``meta` `charset``=``"utf-8"``>`

`<``meta` `name``=``"author"` `content``="http://www.aiqianduan.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。

代码运行效果截图如下:

专注全栈大前端,爱前端整理了一批最新WEB前端教学视频,不论是零基础学习还是在职提升,这些资料都会给你带来帮助,爱前端帮助所有想要学好前端的同学,学习规划、学习路线、学习资料、问题解答。全栈大前端技术交流群:137503198

爱前端-专注前端大前端

关注公众号【爱前端】,获取课程介绍及优惠名额,领取爱前端【内部资料+试听】!

相关文章

网友评论

      本文标题:JavaScript undefined与null区别

      本文链接:https://www.haomeiwen.com/subject/nofmfctx.html