โดยไม่คำนึงถึงภาษาการเขียนโปรแกรม วงจรชีวิตของหน่วยความจำมักจะเหมือนกันเสมอ -
- จัดสรรหน่วยความจำที่คุณต้องการ
- ใช้หน่วยความจำที่จัดสรร (อ่าน เขียน)
- ปล่อยหน่วยความจำที่จัดสรรเมื่อไม่ต้องการอีกต่อไป
ส่วนที่สองมีความชัดเจนในทุกภาษา การใช้หน่วยความจำที่จัดสรรจะต้องทำโดยนักพัฒนา
ส่วนแรกและส่วนสุดท้ายมีความชัดเจนในภาษาระดับต่ำเช่น C แต่ส่วนใหญ่จะเป็นนัยในภาษาระดับสูงเช่น JavaScript
ดังนั้นจึงไม่มีวิธีที่ชัดเจนในการจัดสรรหรือเพิ่มหน่วยความจำใน JavaScript เพียงแค่เริ่มต้นวัตถุจัดสรรหน่วยความจำสำหรับพวกเขา เมื่อตัวแปรอยู่นอกขอบเขต ตัวแปรจะถูกรวบรวมโดยอัตโนมัติ (เพิ่มหน่วยความจำที่วัตถุนั้นใช้)
ตัวอย่าง
function test() {
// Allocate and use the memory
let x = {
name: "John",
age: 24
}
console.log(x);
return null;
// As soon as the method goes out of scope, it is garbage collected
// and it's memory freed.
}
test(); วงจรที่กล่าวถึงในความคิดเห็นจะดำเนินการทุกครั้งที่มีการเรียกใช้เมธอด