我在关闭部分阅读 Addy Osmani内存高效 JS在粉碎杂志上的博客。我了解以下函数包含对 largeStr 的引用,并且 GC 不能声明它。
var a = function () {
var largeStr = new Array(1000000).join('x');
return function () {
return largeStr;
};
}();
而且他在这里提到的解决方案没有引用 largeStr 并且 GC 可以声明它。相反,他使用 smallStr。
var a = function () {
var smallStr = 'x';
var largeStr = new Array(1000000).join('x');
return function (n) {
return smallStr;
};
}();
我明白了艾迪的观点,即不提及大事。但是,我想知道是否有任何(更好的)方法,我可以拥有第一个函数的功能并使其内存高效。