来理解undefined 和 null 区别

转载自:https://www.cnblogs.com/ly0612/p/6696982.htmljavascript

以前虽然也知道这两个之间的区别,可是让我描述的话,感受上仍是说的不是很清楚。今天也详细看了一次这个知识点,如今来讲说这二者间的区别。html

 

null: Null类型,表明“空值”,表明一个空对象指针,使用typeof运算获得 “object”,因此你能够认为它是一个特殊的对象值。java

undefined: Undefined类型,当一个声明了一个变量未初始化时,获得的就是undefined。函数

null是javascript的关键字,能够认为是对象类型,它是一个空对象指针,和其它语言同样都是表明“空值”,不过 undefined 倒是javascript才有的。undefined是在ECMAScript第三版引入的,为了区分空指针对象和未初始化的变量,它是一个预约义的全局变量。没有返回值的函数返回为undefined,没有实参的形参也是undefined。设计

 

javaScript权威指南: null 和 undefined 都表示“值的空缺”,你能够认为undefined是表示系统级的、出乎意料的或相似错误的值的空缺,而null是表示程序级的、正常的或在乎料之中的值的空缺。指针

哈哈哈!!是否是感受不是在说人话。若是和我同样不是很能听懂,请看下面。htm

 

javaScript高级程序设计: 在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。   null值则是表示空对象指针。对象

 

最后,个人理解就是: undefined是访问一个未初始化的变量时返回的值,而null是访问一个还没有存在的对象时所返回的值。所以,能够把undefined看做是空的变量,而null看做是空的对象。blog

在定义一个想保存对象的变量时,就可让该变量先保存null值,这样既能体现null是一个空指针对象,也能更好的区分null和undefined。ip

相关文章
相关标签/搜索