JavaScript中的复杂类型变量在内存中是怎么实现的?
怪我咯
怪我咯 2017-04-11 11:16:36
0
1
661

第一个问题

js中的复杂(引用)数据类型,比如数组,对象之类的,比如这样写:

var object = {
    name: 'haha',
    age: 2
};

这样的话栈内存中就有一片区域名为object,然后它里面存的是一个堆内存(也就是那存name和age这两个属性的堆内存)的地址,对吧?可是堆内存里面的数据不是连续存储的吧?所以

  • 存储name和age的堆内存的地址既然不是连续的,计算机又是怎么找到它们的呢?就是说计算机怎么知道object这两个属性在哪里的?

  • 当我们给object再增加一个属性的时候,在内存中发生了什么?

第二个问题

当我们写下var a = 1;这句代码的时候,我想着计算机中有一片区域(假设为0x1234吧)存储了数值1,那么这个a到底是什么呢?难道计算机中有一个表,写着a对应着0x1234?

望解答~

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(1)
阿神
  1. 请参考,C语言指针

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal