【undefined与null的区别】

undefined与null的区别


字面的含义

声明变量未定义:undefined;(例:var a;)

有定义,但内容为空的对象:null。

从字面上来理解undefined和null其实相对比较简单:

undefined表示的是声明一个变量之后我们并没有给它定义内容。

null表示的是有定义,定义的是一个空对象。


最初的区分方式

null是一个表示"无"的对象,转为数值时为0;

undefined是一个表示"无"的原始值,转为数值时为NaN。


目前的用法

null表示"没有对象",即该处不应该有值。

null出现在哪里?

对于函数的参数,为了表示该函数的参数不是对象,会使用null。这种用法在传参时经常遇到此类应用。

对象原型链的终点是null。


undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。

undefined会出现在哪里?

1、变量被声明了,但没有赋值,默认为undefined

2、调用函数时,应该提供的参数没有提供,该参数默认为undefined

3、对象没有赋值的属性,该属性的值默认为undefined

4、函数没有返回值时,默认返回undefined

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在常见的强类型语言中,通常有一个表示“空”的值,比如NULL。但是在JavaScript中,空(或者叫“无值”)有...
    _李雷阅读 404评论 0 0
  • 1、相似性 if (!undefined) console.log('undefined is false'); ...
    箱猫日和阅读 358评论 0 1
  • 一、相似性 在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。 unde...
    前端混合开发阅读 248评论 0 1
  • 一夜秋风起,叶儿黄,花儿谢。 即使是素雅的秋天,也有属于她的艳丽。那就准备开始辣眼睛吧。
    一朵喵的日常阅读 267评论 0 0
  • 最近一切都出了问题,是自己找不到自己也做不到很多事情。明明都懂,有时记不住,有时不愿意,太过随心,失了前进的动力,...
    慕以朝歌阅读 81评论 0 0