11
การลบวัตถุใน JavaScript
ฉันสับสนกับdeleteโอเปอเรเตอร์ของ JavaScript รับรหัสต่อไปนี้: var obj = { helloText: "Hello World!" }; var foo = obj; delete obj; หลังจากชิ้นส่วนของรหัสนี้ได้รับการดำเนินการobjเป็นnullแต่ยังหมายถึงวัตถุที่ว่าเหมือนfoo objฉันเดาว่าวัตถุนี้เป็นวัตถุเดียวกับที่fooชี้ไป สับสนนี้เราเพราะเราคาดว่าการเขียนที่delete objถูกลบวัตถุที่ถูกชี้ไปในหน่วยความจำที่ไม่ได้เป็นเพียงตัวแปรobjobj นี่เป็นเพราะ Garbage Collector ของจาวาสคริปต์ทำงานบนการรักษา / ปล่อยดังนั้นถ้าฉันไม่มีตัวแปรอื่น ๆ ที่ชี้ไปที่วัตถุมันจะถูกลบออกจากหน่วยความจำ? (โดยวิธีการทดสอบของฉันเสร็จใน Safari 4)