js闭包会导致内存泄漏吗?

首先我们聊下啥是闭包,简单来说呢,我们写一个js方法,返回的不是一个具体的值,而是另一个函数,并且里面还包含了方法内的局部变量,闭包就产生了。

我们开发很少用闭包,ES6之前原本一些需要用闭包才能解决的问题,现在完全可以用let解决。

闭包的优点:在框架中可以延续方法中局部变量的生命周期,不污染全局作用域。

缺点就是,闭包内部的变量,是没法被回收的。注意,虽然没法被回收,但是既然你都用闭包了,你难道还指望它被回收吗?

说白了,就是一些变量本来是要写在全局作用域里面的,现在换成写在闭包里面而已。

所以,严格来说,闭包产生的变量和全局变量是一样的,是本不应该被回收的东西。而内存泄漏是指意料之外的情况,两者还是有区别的。

总结一下,良好的闭包不会导致内存泄漏,只是不会被回收而已。

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/88362.html

(0)
guozi的头像guozi
上一篇 2024年6月3日 下午5:14
下一篇 2024年6月3日

相关推荐

  • 第七期干货评选结果公布

    新 年 快 乐 第七期干货评选 结果公布 截止2022年1月26日12时 根据后台统计到的文章阅读数、点赞数、在看数和投票结果,得出了每篇文章的受欢迎程度: 受欢迎程度= 阅读数*…

    2024年4月2日
    0
  • 合肥网站推广

    合肥网站推广,是当下云服务器行业中备受关注的话题。随着互联网的发展,越来越多的企业开始意识到网站推广的重要性,但是对于什么是网站推广、如何选择合适的推广方式等问题却常常感到困惑。在…

    行业资讯 2024年4月10日
    0
  • 如何租用半价的我的世界公益服云服务器?

    你是否想要租用一台性价比高的云服务器来运行你的我的世界公益服?那么,这篇文章就是为你准备的。今天,我将带你了解什么是我的世界公益服云服务器以及它的独特之处。更重要的是,我将告诉你如…

    行业资讯 2024年3月23日
    0
  • 如何在阿里云服务器上开放端口?(详细教程)

    阿里云服务器是当前最流行的云计算服务之一,它能够为用户提供高性能、安全可靠的服务器资源。然而,如果你想要在阿里云服务器上搭建网站或者进行其他网络应用,就需要对其进行端口开放。那么如…

    行业资讯 2024年4月1日
    0

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注