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

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

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号