使用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();
});
那么,该对象的保留树是什么?并不是所有未引用的对象都会立即被声明。请阅读此和此