JavaScript null,undefined 的区别

本文详细解释了JavaScript中null与undefined的区别,包括它们的含义、类型判断及如何正确使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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: 不知道(没有被告诉)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值