javascript从入门到跑路-----小文的js学习笔记(19)------- js的垃圾回收机制
**
javascript从入门到跑路-----小文的js学习笔记(1)---------script、alert、document。write() 和 console.log 标签
javascript从入门到跑路-----小文的js学习笔记(2)--------- 语法构成、关键字和保留字、变量
javascript从入门到跑路-----小文的js学习笔记(3)---------javascript中的几种数据类型
…
…
javascript从入门到跑路-----小文的js学习笔记目录
**
关注小文我们一起学习进步。
JS垃圾回收机制
js的垃圾回收机制 系统的一共有两种
1、标记清除
标记清除是我们js中最普遍的垃圾回收方式,当我们在函数中声明一个变量,那么这个变量就会进入执行环境,系统对其进行标记“进入环境”,一旦当我们函数执行结束之后,变量就会离开,系统对其标记为“离开环境”。而这个标记离开环境的变量,系统就对其进行回收了。
简单举个栗子:我们创建一个函数
function fn(){
var a = "小绿" //这里声明了变量,即“进入环境”
alert(a)
}
fn();//函数执行结束,即“离开环境” 被回收
当下高版本的浏览器基本都是用的 标记清除 机制,但是以前的老版本也有用到我们下面的 一个回收机制-----引用计数。
注意:光理论是不够的 ,在此送大家2020最新企业级 Vue3.0/Js/ES6/TS/React/node等实战视频教程,点击此处免费获取,小白勿进哦
2、引用计数
引用计数是 根据变量被引用的次数来算的,没被引用一次,次数加一,然后下方每没有引用一次,次数减一,直到次数为零,则将其回收。
function fn(a){
var b= a;//a被引用一次,次数 +1; 为1
var c = a;//又被引用一次,次数+1; 为2
//为引用,次数-1;为1
//为引用,次数-1;为0,然后进行回收
}
fn(175);
当然了除了前面js自动回收的两种外,还有下面一种-----我们手动回收
3、手动清除
手动清除,顾名思义就是,当我们的某个变量不再需要使用的时候,手动将其赋值为null,对其进行清除 。
示例:
执行结果:很显然会弹出两个“小蓝”,
但是我们只需要第一个小蓝,第二个不需要弹出小蓝,那么我们手动对其进行清除
将其赋值为null,那么很显然,执行结果为:
本文地址:https://blog.csdn.net/qq_45948983/article/details/107395200
推荐阅读
-
荐 javascript从入门到跑路-----小文的js学习笔记(17)------动态属性、复制变量值、传递参数和检测类型
-
荐 javascript从入门到跑路-----小文的js学习笔记(18 —1)------作用域以及作用域链
-
javascript从入门到跑路-----小文的js学习笔记(19)------- js的垃圾回收机制
-
javascript从入门到跑路-----小文的js学习笔记(18 —2)------ 执行顺序和优先级
-
荐 javascript从入门到跑路-----小文的js学习笔记(17)------动态属性、复制变量值、传递参数和检测类型
-
荐 javascript从入门到跑路-----小文的js学习笔记(18 —1)------作用域以及作用域链
-
javascript从入门到跑路-----小文的js学习笔记(19)------- js的垃圾回收机制
-
javascript从入门到跑路-----小文的js学习笔记(18 —2)------ 执行顺序和优先级