Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

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

ไม่ว่าจะภาษาโปรแกรมใด กรอบชีวิตของหน่วยความจำก็เหมือนกันประมาณนี้

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

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

ส่วนที่หนึ่งและสามเป็น explicit ในภาษาระดับต่ำ مثل C แต่เป็น implicit ในภาษาระดับสูง مثل JavaScript

ดังนั้น ไม่มีวิธี explicit ในการจัดสรรหรือปล่อยหน่วยความจำใน JavaScript เพียงแค่สร้างออบเจ็กต์ก็จัดสรรหน่วยความจำให้ เมื่อตัวแปรออกจาก scope จะถูก garbage collected อัตโนมัติ (ปล่อยหน่วยความจำที่ออบเจ็กต์นั้นใช้)

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();

รอบที่กล่าวในคอมเมนต์จะเกิดขึ้นทุกครั้งที่เรียกเมธอด รอบนี้เหมือนกันสำหรับทุก scope (global scopes ด้วย)