关于垃圾回收机制的问题

关于垃圾回收机制的问题

http://img1.sycdn.imooc.com//climg/5eb3bbea09c900ae11370620.jpg

老师您好,这垃圾回收的具体应用场景,感觉还是无从下手的感觉,因为我不知道什么地方javascript已经处理过了,什么地方需要自己优化,看以下代码:

for(var i = 0; i <5;i++){

}

就以上代码来讲,程序中避免不了使用for循环,既然JavaScript没有块级作用域,也就是说这个i变量是个全局变量,事实上我也尝试着打印i发现确实是全局变量,如果出现这种情况。

1、我想到的第一种办法就是把有使用for循环的地方用一个函数来封装起来,这样就不用处理这个i了。

2、那是不是直接在全局中使用for循环如果要回收,就得手动 i = null呢

二、还有个问题就是图片中的第三点,标记清楚就是给不用的值加标记,然后回收,这里的加标记是我们手动加还是JavaScript 自动判断的,还有加的标记是什么标记,这里需要人为去干预吗

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,一般情况下垃圾回收不需要我们处理;像for循环,变量i就是全局的,我们可以采用同学说的将其封装成一个函数,但这种方式又可能会增加代码的复杂程度;将其手动设置为null也可以,但是实际应用中又很少有人去这样写;所以垃圾回收这块,同学了解即可;js会周期性的进行垃圾收集,无需我们手动干预;标记是js语言内部的一种实现,我们可以简单的理解成给这个变量设置一个属性,当值为true时,就是标记了,就可以被回收。

如果我的回答帮到了你,欢迎采纳,祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师