8
จะล้างวัตถุ JavaScript ได้อย่างรวดเร็วได้อย่างไร
ด้วย JavaScript Array ฉันสามารถรีเซ็ตเป็นสถานะว่างด้วยการมอบหมายครั้งเดียว: array.length = 0; สิ่งนี้ทำให้ Array "ปรากฏ" ว่างเปล่าและพร้อมที่จะนำมาใช้ใหม่และเท่าที่ฉันเข้าใจคือ "การดำเนินการ" เดียว - นั่นคือเวลาคงที่ มีวิธีที่คล้ายกันเพื่อล้างวัตถุ JS หรือไม่ ฉันรู้ว่าฉันสามารถย้ำฟิลด์ของมันเพื่อลบพวกเขา: for (var prop in obj) { if (obj.hasOwnProperty(prop)) { delete obj[prop]; } } แต่นี่มีความซับซ้อนเชิงเส้น ฉันยังสามารถโยนวัตถุออกไปและสร้างวัตถุใหม่ได้: obj = {}; แต่การสร้าง "ใหม่" ของวัตถุใหม่จะทำให้เกิดปัญหากับ Garbage Collection ใน IE6 ( ตามที่อธิบายไว้ที่นี่ )