Javascript 内存(一):基础知识

一、前言

Javascript 内存分配的时机是在创建变量阶段,会自动进行内存的分配。并且在不占用该变量的情况下,会自动释放该内存。这个释放的过程称为"辣鸡回收"。

二、内存

内存一般是 CPU 所能直接寻址访问的、唯一的,大容量的存储器。它是一个大的字节数组,大小从数十万到数十亿。每个字节都有唯一地址。

一个程序需要执行,那么它必须映射到绝对地址,并加载到内存中。随着程序执行,进程可以通过产生绝对地址来访问内存的程序指令和数据。最后,程序执行结束,释放占用的内存,保证下一个程序能够正常执行。

三、内存生命周期

  • 分配内存阶段
  • 使用内存阶段
  • 释放内存阶段

在这里插入图片描述

1. 分配内存阶段

该阶段是在创建变量的时候,会自动分配内存地址。

// 创建字符串类型变量
let obj = {
  a: "robbie memory"
}

2. 使用内存阶段

该阶段是对创建的变量读写操作的时候进行。

// 读操作-将 newObj 的内存地址指向 obj
let newObj = obj
// 写操作
obj.a = "modify string value."

3. 释放内存阶段

当变量使用完成之后,并且不会再次使用的话,就会释放掉变量所占用的内存区域。

// 释放掉 newObj 的指向
newObj = null
// 注意:此时如果没有执行 newObj = null 的话,变量使用后未及时释放,
//      就会造成内存泄漏问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值