内存角度理解js变量及内存

3 篇文章 0 订阅

js中,全部的变量的赋值、修改等,都是不是对内存的修改,是修改变量的指向。

引出一些结论:

1,var/let定义的一个指的是变量或者是变量名
2,变量全部都是指向内存的,不要习惯认为就是某个内存的值(没人会告诉你两者一定就会相等),得从根本上去看
3,改变变量的值,就是改变变量的指向的内存(多出的内存不就成了垃圾?可以这么说,V8引擎的GC回收会自动处理没有被指向的内存,不会立刻消失,所以会出现内存再函数运行完后还能用,作用域等页不会立刻消失)
4,什么时候是修改变量呢,什么时候是修改内存呢?首先要更换本有思维,比如对象属性也只是变量,也就是说内存可以是存一个数据值,也可以存变量(这里就可以解释如果存的只是数据,那么就无法修改数据的,只能更改变量指向内存,而不是修改指向内存的数据,你会发现String,Number类型也是这样的,它的编译器设计让它是这种形式,从编译器底层C的角度让设计成这样)。
修改变量:直接对变量就进行赋值,修改操作,但要理解对对象的属性就不是对上级变量修改;
修改内存:对保存变量的内存的变量进行增删
(这里感觉描述不是很好,后面继续补充)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值