为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript中的复杂类型变量在内存中是怎么实现的?

JavaScript中的复杂类型变量在内存中是怎么实现的?

千万里不及你 2018-10-03 15:14:05
第一个问题js中的复杂(引用)数据类型,比如数组,对象之类的,比如这样写:var object = {     name: 'haha',     age: 2};这样的话栈内存中就有一片区域名为object,然后它里面存的是一个堆内存(也就是那存name和age这两个属性的堆内存)的地址,对吧?可是堆内存里面的数据不是连续存储的吧?所以存储name和age的堆内存的地址既然不是连续的,计算机又是怎么找到它们的呢?就是说计算机怎么知道object这两个属性在哪里的?当我们给object再增加一个属性的时候,在内存中发生了什么?第二个问题当我们写下var a = 1;这句代码的时候,我想着计算机中有一片区域(假设为0x1234吧)存储了数值1,那么这个a到底是什么呢?难道计算机中有一个表,写着a对应着0x1234?望解答~
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

  1. 请参考,C语言指针

  2. 请参考,《编译原理》


查看完整回答
反对 回复 2018-11-08
  • 1 回答
  • 0 关注
  • 579 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信