null和undefined的区别

null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。

当声明的变量还未被初始化时,变量的默认值为undefined。

null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。

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

(1)变量被声明了,但没有赋值时,就等于undefined。

(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。

(3)对象没有赋值的属性,该属性的值为undefined。

(4)函数没有返回值时,默认返回undefined。

null表示"没有对象",即该处不应该有值。典型用法是:

(1) 作为函数的参数,表示该函数的参数不是对象。

(2) 作为对象原型链的终点。
// 常见的判断
 null == undefined     //true
 typeof null    //object
 null instanceof Object   //false 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在许多计算机语言中,有且仅有一个表示“无”的值,如C语言的NULL,Java的null,Python的None。然...
    夏沉阅读 2,033评论 0 0
  • ** js基本数据类型有哪些?**5种简单数据类型:Null、Boolean、String、Number、Unde...
    _Janly阅读 678评论 0 0
  • 1.null和undefined都被用来表示空值,当使用不严格等于号(==)做判断时,他们是等价的。 这也是为什么...
    苏星河阅读 819评论 0 7
  • 相同点: 1,都表示值的空缺,二者可以互换 2,希望值是布尔类型的时候都是假值,和false类似 3,都不包含任何...
    itsmyturn阅读 358评论 0 1
  • 作者泷本哲史,是日本京都大学的客座教授,他的“谈判论”、“决策课”、“创业论”课程,堂堂爆满。他曾任职麦肯锡,后自...
    Nicolas_Strange阅读 439评论 0 4