Если вы используете
a = [];
Затем вы назначаете ссылку на новый массив на a, если ссылка в a уже назначена на любую другую переменную, тогда она тоже не будет пустым и этот мусор сборщик не будет собирать эту память.
Например.
var a=[1,2,3];
var b=a;
a=[];
console.log(b);// It will print [1,2,3];
или
a.length = 0;
Когда мы укажем a.length
, мы просто сбросим границы массива, а память для элементов массива отдыха будет соединена сборщиком мусора.
Вместо этих двух решений лучше.
a.splice(0,a.length)
и
while(a.length > 0) {
a.pop();
}
Как и в предыдущем ответе kenshou.html, второй метод выполняется быстрее.
Я не уверен, существует ли корректный способ сделать это, я разработал свой собственный метод путем тестирования различных стратегий, пока я не придумал что-то, что работало на мое собственное мышление.
Это - то, как я делаю это:
изображение в качестве примера ниже.
сопроводительный текст http://www.freeimagehosting.net/uploads/55eaa90498.jpg
Вместо того, чтобы использовать полные наконечники стрелки можно использовать половину наконечников стрелки для показа асинхронного вызова сообщения. Как показано