Bất kể ngôn ngữ lập trình nào, vòng đời của bộ nhớ luôn giống nhau -
- Phân bổ bộ nhớ bạn cần
- Sử dụng bộ nhớ được cấp phát (đọc, ghi)
- Giải phóng bộ nhớ đã cấp phát khi nó không còn cần thiết nữa
Phần thứ hai là rõ ràng bằng tất cả các ngôn ngữ. Việc sử dụng bộ nhớ được cấp phát cần được thực hiện bởi nhà phát triển.
Phần đầu tiên và phần cuối là rõ ràng trong các ngôn ngữ cấp thấp như C nhưng chủ yếu ẩn trong các ngôn ngữ cấp cao như JavaScript.
Do đó, không có cách rõ ràng nào để cấp phát hoặc giải phóng bộ nhớ trong JavaScript. Chỉ cần khởi tạo các đối tượng sẽ cấp phát bộ nhớ cho chúng. Khi biến vượt ra khỏi phạm vi, nó sẽ tự động được thu gom rác (giải phóng bộ nhớ do đối tượng đó chiếm).
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();
Chu kỳ được đề cập trong các bình luận được thực hiện mỗi khi phương thức được gọi. Chu kỳ giống nhau đối với tất cả các phạm vi (cả phạm vi toàn cầu).