使用jQ给一个元素绑定一个事件,事件调用的匿名函数在执行完后会释放函数中的变量吗?
var test = function(args) {
this._args = args;
return this;
}
test.prototype.getArgs = function() {
console.log(this._args);
}
$('#btn').on('click', function() {
new test('This is Args').getArgs();
}
我就是想问下,当我点击id为btn的按钮执行函数后,函数中new的这个test对象实例会被释放吗?每新一个对象不都是创建新的内存吗?它还需要手动释放吗?
最主要的是我每次单击按钮都会new一次对象,我如果多次单击如不释放是不是会占用很多内存?
只要创建的对象从window对象出发,可以被触达,就认为是被使用的,有用的的,JS引擎的GC回收机制就不会回收.
当回调函数被执行返回后。新创建的对应因为被有被引用,就将会被GC回收掉,而如果这个新对象引用的
#btn
对象,那么它就不会被释放,除非#btn
被释放