Я думаю, что это нормально, но я хотел бы подтвердить.Повторное использование Javascript с «новой» с той же целевой переменной
В Javascript я могу повторно назначить новый объект для одной и той же переменной, не вызывая утечки памяти или другие проблемы?
Пример:
var rect = new Rectangle(left1, top1, width1, height1);
...
...
... // some stuff
...
rect = new Rectangle(left2, top2, width2, height2); // change the rect size
...
...
... // some other stuff
...
rect = new Rectangle(left3, top3, width3, height3); // change the rect size again
Класс Rectangle просто имеет представление прямоугольника, в том числе несколько параметров, рассчитанных с переданными из них. Я думаю, что сбор мусора позаботится об этом, но как C++, что повторное использование «нового» заставляет меня нервничать!
Я думаю, что сбор мусора очистит память) Так что не волнуйся об этом) –
Это не утечка памяти, но, возможно, неэффективная. Рассматривали ли вы повторное использование существующего объекта? Просто назначьте ему новые свойства. Или используйте 'Rectangle.call (rect, left2, top2, width2, height2);' для повторной инициализации. – Bergi
Спасибо. Да, я уже переработал код, чтобы быть более эффективным, но я все еще новичок в javascript, поэтому мне нужно было убедиться, что я понимаю, как будет выглядеть коллекция мусора в этом сценарии. Спасибо всем за быстрый ответ. – boingy