JavaScript中变量的内存结构

一、什么是内存

内存是用于存储数据的地方,程序要执行一行代码,要先从硬盘加载到内存当中,再由内存发送给CPU,CPU才能对代码进行执行。

当我们在js中,声明一个变量并赋值

<script>

//js中,变量中并不存储任何值,而是存储值的内存地址!

let a = '123';
let b = '123';
console.log(a);
console.log(b)
</script?

直观上,是把a和b两个变量当成盒子,分别将值‘123’存储在两个盒子中。
实际上并非如此,内存的结构比较复杂

当声明一个变量时,在内存中分配的空间是固定的。但是它所存储的值是一个随时改变的量。

如果数据过大,存储时分配的空间不足够使用,会造成内存溢出。
如果数据过小,那么已分配的空间不能够充分利用,就会造成空间浪费。

因此,js中变量的值,并不是直接与变量存储在一起,而是开辟了两个空间分别存放。

当声明一个新的变量时,变量的值与已经存在的变量的值相同时,新的变量值不会重新在内存中开辟空间,而是共同用一个变量值,存放同一个值的内存地址 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值