美文网首页前端之路——文章转载
杂谈:什么是闭包?闭包会造成内存泄露?

杂谈:什么是闭包?闭包会造成内存泄露?

作者: dear智子 | 来源:发表于2020-05-31 18:37 被阅读0次

为什么会流传闭包会导致内存泄露!因为IE浏览器早期的垃圾回收机制,有 bug。

IE浏览器中使用完闭包之后,依然回收不了闭包里面引用的变量。
在IE浏览器中,由于BOM和DOM中的对象是使用C++以COM对象的方式实现的,而COM对象的垃圾收集机制采用的是引用计数策略。在基于引用计数策略的垃圾回收机制中,如果两个对象之间形成了循环引用,那么这两个对象都无法被回收,但循环引用造成的内存泄露在本质上也不是闭包造成的。
如上可看出都是万恶 IE 的问题,不是闭包的问题,这也是流传闭包会导致内存泄露的主要原因。

https://segmentfault.com/a/1190000020631481

相关文章

  • 杂谈:什么是闭包?闭包会造成内存泄露?

    为什么会流传闭包会导致内存泄露!因为IE浏览器早期的垃圾回收机制,有 bug。 IE浏览器中使用完闭包之后,依然回...

  • 闭包

    闭包就是内部的函数被保留到了外部 闭包会导致原有作用域链不释放,造成内存泄露。

  • javascript中的闭包

    闭包 基本概念 当 内部函数 被保存到 外部 时,将会一定生成闭包。闭包会导致原有作用域链不释放,造成内存泄露。...

  • 闭包

    闭包是一个非常强大的特性,但人们对其也有诸多误解。一种耸人听闻的说法是闭包会造成内存泄露,所以要尽量减少闭包的使用...

  • 闭包

    概念 当内部函数被保存到外部时,将会生成闭包.闭包会导致原有的作用域链不释放造成内存泄漏.什么是泄露比如手中的撒子...

  • 什么是闭包?闭包的好处是什么?

    什么是闭包,闭包的好处 闭包 : 再函数外部可以访问函数内部的变量 好处: 坏处: 容易造成内存泄漏 闭包的相关应...

  • 闭包的作用

    闭包:内部函数保存到外部 当内部函数被保存到外部时,将会生成闭包。闭包会导致原有作用域链不释放,造成内存泄漏(内存...

  • 详解Js的closure(闭包)和异步编程

    闭包 使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存...

  • 闭包1(基础)

    (什么是闭包?闭包的作用?闭包的缺陷?) (闭包的几种可能的应用场景) (闭包与内存泄漏,有关闭包的面试题) 推荐...

  • 闭包中关于内存

    在闭包中,回收使用的对象,避免内存泄露

网友评论

    本文标题:杂谈:什么是闭包?闭包会造成内存泄露?

    本文链接:https://www.haomeiwen.com/subject/oierzhtx.html