JavaScript-undefined和null区别

更多内容,请访问:JavaScript-变量总结

undefined(未定义)

当一个变量只声明,未赋值时,当前变量会设置为undefined;
当前一个函数未明确return时,默认会return undefined。
当一个函数定义了行参,但是没有传递实参时,默认为undefined;
当一对象上没有该属性,并且原型链上也没有找到时,那么用对象访问时,为undefined

typeof undefined == ‘undefined’

null

null表示的是我们知道这个变量是一个对象,但是我们不知道它是一个什么对象,刚开始,我们就设置为null。

当需要释放一个对象时,直接赋值为 null 即可

undefined 表示一个变量初始状态值,而 null 则表示一个变量被人为的设置为空对象,而不是原始状态。

typeof null === ‘object’

为什么typeof null === ‘object’

typeof 之所以会判定为 Object 类型,是因为JavaScript数据类型在底层都是以二进制的形式表示的,二进制的前三位为0会被 typeof 判断为对象类型,而null的二进制位恰好都是0,因此,null被误判断为 Object 类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值