js中的复杂(引用)数据类型,比如数组,对象之类的,比如这样写:
var object = {
name: 'haha',
age: 2
};
这样的话栈内存中就有一片区域名为object,然后它里面存的是一个堆内存(也就是那存name和age这两个属性的堆内存)的地址,对吧?可是堆内存里面的数据不是连续存储的吧?所以
存储name和age的堆内存的地址既然不是连续的,计算机又是怎么找到它们的呢?就是说计算机怎么知道object这两个属性在哪里的?
当我们给object再增加一个属性的时候,在内存中发生了什么?
当我们写下var a = 1;
这句代码的时候,我想着计算机中有一片区域(假设为0x1234吧)存储了数值1,那么这个a到底是什么呢?难道计算机中有一个表,写着a对应着0x1234?
望解答~
请参考,C语言指针
请参考,《编译原理》