为什么使用typeof判断数据类型的时候null出来是object?

引用类型的变量其实也是基本类型,而引用指向的对象本身才是引用类型。

null不指向任何变量,它是一个常量,所以说是基本类型。

 解释:

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

对象被赋值了null 以后,对象对应的堆内存中的值就是游离状态了,GC 会择机回收该值并释放内存。

因此,需要释放某个对象,就将变量设置为 null,就表示对象已经被清空,目前无效状态。

 

猜你喜欢

转载自blog.csdn.net/Clover_zlx/article/details/130874026
今日推荐