2
我认为这是行,但我想确认。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