2、垃圾回收与上下文引用

let config = {
    alert: setInterval(() => {
        console.log('alert')
    }, 1000)
}

config = null

答案:

setInterval 的回调仍然每秒都会被调用一次

解析:

一般情况下,将对象赋值为 null,那些对象将被垃圾回收(garbage collected),简称 GC,因为没有对对象的引用了。

垃圾回收: 用引用计数的方式进行

然而,此题中 config 对象中的 setInterval 的回调是箭头函数,所以他的上下文环境绑定到了 config 上,回调函数仍然保留着对 config 的引用,因此 config 不会被垃圾回收。

PS:此题出自<<高级前端面试>>小程序,可前往学习。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写在前面: 常见面试题: 如何判断对象是否死亡(两种方法)? 简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用...
    木木不哭_8be4阅读 1,162评论 0 0
  • 上一篇文章为:→1.3.1import垃圾回收 垃圾回收(二) 1. Garbage collection(GC垃...
    lyh165阅读 3,369评论 0 2
  • 随着现在的编程语言功能越来越成熟、复杂,内存管理也容易被大家忽略。本文将会讨论JavaScript中的内存泄漏以及...
    zenmshuo_2919阅读 3,456评论 0 1
  • 每天闹钟一响,脑子里就出现五百条请假理由,不想去上班,但特么的没一条靠谱。 快乐是人类精神上的一种愉悦,是一种心灵...
    Smile_gogogo阅读 1,630评论 2 3
  • 新年到,真热闹。 新年到,穿新衣。 新年到,贴对联。 新年到,挂灯笼。 新年到,收红包。 新年到,包水饺。 新年到...
    何婉茹阅读 1,558评论 0 1

友情链接更多精彩内容