使用requre js和js匿名函数的javascript内存泄漏

使用requre js和js匿名函数的javascript内存泄漏,javascript,memory-management,require,Javascript,Memory Management,Require,在执行了以下代码行之后,用户对象没有被GC收集。它显示在chrome堆快照上 有人能帮忙吗 define("mockModule", [], function () { function User(name) { var that = this; this.name = name; this.column = [{ id: 'xyz' }]; this.createObj(); } User.prototype.createObj = function ()

在执行了以下代码行之后,
用户
对象没有被GC收集。它显示在chrome堆快照上

有人能帮忙吗

 define("mockModule", [], function () {
 function User(name) {
    var that = this;
    this.name = name;
    this.column = [{ id: 'xyz' }];
    this.createObj();
}
User.prototype.createObj = function () {
    var that = this;
    this.column[0]['formatter'] = outerFunction(that);
};
 User.prototype.dummyMethod = function () {
 } ;
 function outerFunction(that) {
    return function () {
        return that.dummyMethod(that)
    };
  }
 return { User: User };
});

    define("mockModuleImpl", ["mockModule"], function (mockModule) {
 function init() {
    var user = new mockModule.User("hello");
    user = null;
 }
 return { init: init }; 
});

  require(["mockModuleImpl"], function (mockModuleImpl) {
      mockModuleImpl.init();
});

那么,该对象的保留树是什么?并不是所有未引用的对象都会立即被声明。请阅读此和此