null和Undefined的区别

Posted theworldofbeisong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了null和Undefined的区别相关的知识,希望对你有一定的参考价值。

null==undefined //true

undefined类型来源于null,null和undefined都是js中只有一个值的数据类型 特殊值分别是null和undefined

但不同的是 ,

1.null

null 表示空对象指针,typeof是object  而且其他语言都有null ,那什么情况会输出null呢

技术分享图片

技术分享图片

技术分享图片

 

所以只有将变量定义为null时输出null  其他返回虽然是空对象 但可能会返回undefined或者object

 技术分享图片

所以判断XX值是否为空可以使用 XX==undefined  XX==null(但如果xx是undefined也是对 用===)

2.undefined

而undefined是js才有的,申明一个未初始化的变量,得到的是undefined,typeof出来是undefined,undefined的引入是为了区分空指针对象和未初始化的变量,是一个预定义的全局变量。没有返回的函数返回undefined,没有实参的形参也是undefined 。但如果直接alert(age)(age没有申明)会报错,如下:

技术分享图片

 

从技术角度两种变量有本质的区别,但实际上无论是哪种变量都不可能执行真正的操作

但如果判断未申明的变量的对象输出时undefined,那未初始和未申明在typeof都是输出undefined,那如何来判断这个变量是属于未申明还是未初始化呢?

所以需要我们显式的初始化变量如var msg = 0;

 

 

 

 

以上是关于null和Undefined的区别的主要内容,如果未能解决你的问题,请参考以下文章

js中null和undefined的区别

Javascript 中 null,NaN和undefined的区别

null 和 undefined 区别

null和undefined的区别

null和undefined的区别

null和undefined的区别