undefined和null的区别

1.什么是undefined

undefind 是全局对象的一个属性,简单的来说定义了未赋值为undefined
undefined通过typeof判断类型是'undefined'
undefined == undefined 
undefined === undefined

以下几种情况JavaScript返回的是undefined:

1.未赋值的变量。
2.无返回值函数的执行结果。
3.对象中不存在的属性。

2.什么是null

null则表示变量的值就是null(空值)。
ull通过typeof判断类型是'object'null === null 
null == null 
null == undefined 
null !== undefined

null类型注意点:

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

null的使用场景

对象被赋值了null 以后,对象对应的堆内存中的值就是游离状态了,GC 会择机回
收该值并释放内存。因此,需要释放某个对象,就将变量设置为 null,即表示该对
象已经被清空,目前无效状态。
比如定时器let timeld=setInterval,通过将timeld=null便可以清除该定时器

3.undefined和null的相同点

undefinednull都是JavaScript的基本数据类型,在进行判断的时候,
都是被认为是falseif(undefined)//false
if(null)//false

4.undefined和null的区别

1.undefined表示定义的变量未赋值,null则表示变量的值就是null(空值)2.undefied和null进行比较时,使用 == 判断的结果为真,因为二者的值是相等
  的。但是使用 === 判断时,结果为false,因为他们的类型不一致。
  undefined通过typeof判断类型是'undefined'null'object'
  
3.在实际使用过程中,不需要对一个变量显式的赋值 undefined,当需要释放一个
  对象时,直接赋值为 null 即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值