博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS中null和undefined的区别
阅读量:3961 次
发布时间:2019-05-24

本文共 603 字,大约阅读时间需要 2 分钟。

null和undefined的区别

1.undefined的理解

undefined为数据初始化的时候,如果你没有进行赋值,那么它的值将会是一个undefined,全局下,预定义一个变量的时候,没有给定当前变量赋值时,它将会是undefined。

简单理解为:此次应该有对象有值但是未定义值

2.null的理解

null表示"没有对象",即该处不应该有值。

null 一个人为进行赋予的值,比如某个引用类型或者函数,你想要进行舍弃,那么你可以把它设置为null。那么浏览器的垃圾回收机制将进行回收。

3,null与undefined的区别

1.数据类型不一样:

console.log(typeof null);console.log(typeof undefined);

在这里插入图片描述

2.强转为数字类型不同

console.log(Number(null));//0console.log(Number(undefined));//NAN

在这里插入图片描述

3.null是原型链的出口

console.log(Object.prototype.__proto__ === null); //true

在这里插入图片描述

回收特点

在浏览器垃圾回收中应用:全局执行上下文中对于全局变量(引用变量)的内存回收,对于这些使用过需要释放内存空间的变量,我们把基本变量类型的变量赋值为undefined,把引用变量类型的变量赋值为null,这样就可以做到垃圾回收;

转载地址:http://twezi.baihongyu.com/

你可能感兴趣的文章
17-python之for循环
查看>>
18-python之while循环,for循环与else的配合
查看>>
19-python之字符串简单介绍
查看>>
20-python之切片详细介绍
查看>>
P24-c++类继承-01详细的例子演示继承的好处
查看>>
P8-c++对象和类-01默认构造函数详解
查看>>
P1-c++函数详解-01函数的默认参数
查看>>
P3-c++函数详解-03函数模板详细介绍
查看>>
P4-c++函数详解-04函数重载,函数模板和函数模板重载,编译器选择使用哪个函数版本?
查看>>
P5-c++内存模型和名称空间-01头文件相关
查看>>
P6-c++内存模型和名称空间-02存储连续性、作用域和链接性
查看>>
P9-c++对象和类-02构造函数和析构函数总结
查看>>
P10-c++对象和类-03this指针详细介绍,详细的例子演示
查看>>
bat备份数据库
查看>>
linux数据库导出结果集且比对 && grep -v ---无法过滤的问题
查看>>
shell函数与自带变量
查看>>
linux下shell获取不到PID
查看>>
sort详解
查看>>
linux,shell中if else if的写法,if elif
查看>>
shell中单引号、双引号、反引号的区别
查看>>