Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การจัดการหน่วยความจำใน JavaScript


โดยไม่คำนึงถึงภาษาการเขียนโปรแกรม วงจรชีวิตของหน่วยความจำมักจะเหมือนเดิมเสมอ -

  • จัดสรรหน่วยความจำที่คุณต้องการ
  • ใช้หน่วยความจำที่จัดสรรไว้ (อ่าน เขียน)
  • ปล่อยหน่วยความจำที่จัดสรรเมื่อไม่ต้องการอีกต่อไป

ส่วนที่สองมีความชัดเจนในทุกภาษา นักพัฒนาจำเป็นต้องใช้หน่วยความจำที่จัดสรร

ส่วนแรกและส่วนสุดท้ายมีความชัดเจนในภาษาระดับต่ำเช่น 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();

วงจรที่กล่าวถึงในความคิดเห็นจะดำเนินการทุกครั้งที่มีการเรียกใช้เมธอด วงจรจะเหมือนกันในทุกขอบเขต (ขอบเขตทั่วโลกด้วย)