jQuery循环引用

时间:2013-08-07 19:56:27

标签: jquery coffeescript

我将一个jQuery插件/小部件作为OOP对象,在该对象中,我将HTML / jQuery元素($elem)保存为属性。我还在HTML元素的new属性中存储该对象的引用(使用data创建)。这会导致循环引用/内存泄漏吗?

CoffeeScript中的代码大致为:

class wid
  constructor
    @$elem = $('<div>hello</div>')
    @$elem.appendTo('body')
    @$elem.data('obj',@)  // adding the instance to the element's data attribute
  updateText: (p)->
     @$ele.text(p)

widget = new wid()

1 个答案:

答案 0 :(得分:-3)

在真实的浏览器上,没有。 Internet Explorer是Microsoft的浏览器形状对象,它为DOM和Javascript提供了单独的垃圾收集器,因此很容易创建循环引用。由于IE与操作系统紧密集成,因此仅关闭浏览器不会释放此内存:必须重新启动操作系统。

然而,这是一件好事:随着IE变得越来越慢,使用不一致的对象引用而压低,用户将学习关于Microsoft质量的重要课程。