要在JavaScript中实现流畅的动画,我必须避免垃圾回收。我想知道,如果变量“key”的以下“out-scoping”将减少垃圾收集。函数“do”经常被调用。在我的例子中,变量“key”在函数“do”终止后保持活动,但这实际上有帮助吗?
define(function() {
// keep reference to key to avoid garbage collection
var key;
function Test() {
this.object = Object.create(null);
}
Test.prototype.do = function() {
for (key in this.object) {
this.object[key]++;
}
}
return Test;
});
此外文章总是谈论避免字符串和对象创建以减少垃圾,整数不会产生垃圾或者这只是可以忽略不计?
编辑:我认为这不是this question的重复,因为我特别询问是否有助于超出函数中的一个简单变量并且这已被提出,但在另一个问题中没有回答。关于整数的问题还没有得到解答。
背景信息:这是关于粒子,为粒子设置动画,我需要对1000个物体进行多次计算。所有对象都被重用,因此不存在任何垃圾问题,但在函数中,每次调用都会创建许多变量。