this.arr = []
создаст новый пустой массив и присвоит его свойству arr
. Если в программе больше нет ссылки на предыдущий массив, в конечном итоге будет собран мусор (автоматически уничтожается движком JS). Но если там где-то есть ссылка, она все равно будет существовать.
this.arr = [1, 2, 3, 4];
var backup = this.arr;
this.arr = [];
// backup still points to the array, so it won't be destroyed
Если вы просто хотите, чтобы удалить массив, как вы не будете использовать его больше, вы могли бы сделать this.arr = null
вместо этого.
В JS нет такой вещи, как «утечка памяти». Однако вы можете забыть избавиться от объекта, который вам больше не нужен. И если этот объект имеет ссылки на другие объекты, которые в терминах имеют ссылки на другие объекты, то не будет уничтожен ни один объект дерева.
В большинстве случаев, если вы используете временные переменные, вам не нужно беспокоиться об этом.
Возможный дубликат [Как освободить память в JavaScript] (http://stackoverflow.com/questions/8467350/how-to-free-up-the-memory-in-javascript) – felipsmartins
Читать: [Javascript Управление памятью] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management) – felipsmartins
Возможный дубликат [Как удалить массив в JavaScript?] (Http://stackoverflow.com/questions/1232040/how-to-empty-a-array-in-javascript) –