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

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

config = null

答案:

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

解析:

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

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

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

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

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

相关阅读更多精彩内容

友情链接更多精彩内容