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

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

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

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

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

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

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

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

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

(0)
guozi's avatarguozi
上一篇 2024年6月3日 下午5:14
下一篇 2024年6月3日 下午5:14

相关推荐

  • 桔子seo外链

    想要让自己的网站排名靠前,吸引更多的流量吗?那么你一定需要了解什么是SEO外链。通过SEO外链,可以提升网站在搜索引擎中的排名,从而获得更多的曝光和点击量。桔子SEO外链服务为你提…

    行业资讯 2024年4月8日
    0
  • 智能推荐

    云服务器行业近年来发展迅速,随之而来的是大量的数据和信息。如何从海量的数据中快速准确地找到用户所需,成为了企业们面临的挑战。智能推荐技术应运而生,它不仅能够提高用户体验,也能为企业…

    行业资讯 2024年4月16日
    0
  • 俄罗斯国防部网站遭受网络攻击,俄罗斯 网络攻击

    近期,俄罗斯网络世界发生严重攻击事件,各大媒体也纷纷进行报道。哪些网站受到了攻击?攻击是如何进行的?这次网络攻击对俄罗斯政府和企业产生了哪些影响?让我们来了解一下这次网络风暴背后的…

    行业资讯 2024年5月18日
    0
  • 网站被其他网站屏蔽了怎么解决,网址被浏览器屏蔽了怎么办

    您是否曾经打开过某个网站却发现无法访问?这可能是因为该网址在中国被屏蔽。那么在中国有哪些网站被屏蔽呢?为什么会出现这种情况呢?本文将回答这些问题。同时,我们还将向您展示如何解决您所…

    行业资讯 2024年5月7日
    0

发表回复

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