js的垃圾回收机制

js 垃圾回收机制(GC)
1、GC--garbage  collection ,js具有“自动”垃圾回收机制
    即执行环境会负责管理代码执行过程中使用的内存
2、GC会定期(周期性的)找出那些不再继续使用的变量,然后释放其内存
3、不再使用的变量即生命周期结束的变量会被释放,只能是局部变量
    全局变量的生命周期,直到浏览器卸载页面才会结束
   

var a=1
        function f1(){
            var b=2
        }
        f1()


4、闭包由于内部函数原因,外部函数不能算结束,无法释放内存
5、js的垃圾回收机制----采用的方式
    (1)标记清除法
        当变量进入执行环境时,就将这个变量标记为“进入环境”,当变量离开环境时会被标记“离开环境”,离开环境的变量内存被释放
       

function f1(){
            //被标记已进入执行环境
            var a=1
            var b=2
        }
        f1()  //执行完毕,a,b被标记离开执行环境,内存释放


    (2)引用计数法
    跟踪记录每个值被引用的次数,当某个值的引用次数变为0时,说明没有方法在访问该值了,则可将其占用的内存收回
       

function f1(){
            //跟踪a的引用计数
            var a={}   //a的引用次数 0
            var b=a    //a的引用次数 1
            var c=a     //a的引用次数 2
            var b={}    //a的引用次数 1
            var c=[]    //a的引用次数 0
        }


    (3)手工  --直接置空,GC下次再运行时会删除这些值
    a=null

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值