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,对其进行清除 。

示例:
javascript从入门到跑路-----小文的js学习笔记(19)------- js的垃圾回收机制_第1张图片
执行结果:很显然会弹出两个“小蓝”,

但是我们只需要第一个小蓝,第二个不需要弹出小蓝,那么我们手动对其进行清除
javascript从入门到跑路-----小文的js学习笔记(19)------- js的垃圾回收机制_第2张图片
将其赋值为null,那么很显然,执行结果为:
javascript从入门到跑路-----小文的js学习笔记(19)------- js的垃圾回收机制_第3张图片 javascript从入门到跑路-----小文的js学习笔记(19)------- js的垃圾回收机制_第4张图片

你可能感兴趣的:(javascript从入门到跑路-----小文的js学习笔记(19)------- js的垃圾回收机制)