JavaScript-null,undefined 的区别?

null 表示一个对象是“没有值”的值,也就是值为“空”;
undefined 表示一个变量声明了没有初始化(赋值);

undefined不是一个有效的JSON,而null是;
undefined的类型(typeof)是undefined;
null的类型(typeof)是object;

Javascript将未赋值的变量默认值设为undefined;
Javascript从来不会将变量设为null。它是用来让程序员表明某个用var声明的变量时没有值的。

typeof undefined   //"undefined"

undefined :是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但是还没有定义。当尝试读取时会返回 undefined;例如变量被声明了,但没有赋值时,就等于undefined。

typeof null //"object"

null : 是一个对象(空对象, 没有任何属性和方法);
例如作为函数的参数,表示该函数的参数不是对象;

注意:
在验证null时,一定要使用 === ,因为 == 无法分别 null 和 undefined

null == undefined // true
null === undefined // false

再来一个例子:

    null
    Q:有小白这个人么?
    A:有!
    Q:小白有房子么?
    A:没有!

    undefined
    Q:有小白这个人么?
    A:有!
    Q: 小白有多少土豆?
    A: 不知道(没有被告诉)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前端07班 王语句JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是...
    ea203453e188阅读 4,429评论 0 4
  • 第1章 JavaScript 简介 JavaScript 具备与浏览器窗口及其内容等几乎所有方面交互的能力。 欧洲...
    力气强阅读 4,890评论 0 0
  • 语句 JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。 ...
    米塔塔阅读 3,290评论 1 10
  • 孩子做事情不积极,写作业拖延,……一系列拖拉问题,其中很重要的原因是: 有人帮他擦屁股。 也就是: 有人为他所做...
    江瑞阅读 1,823评论 0 0
  • 北京这两天,在上演“灰姑娘”的童话故事。 9天8晚的霾下都,就是备受欺辱的灰姑娘 (我一度怀疑自己梦游到了煤矿区)...
    Parsif123阅读 2,713评论 0 0

友情链接更多精彩内容