JavaScript中的复杂类型变量在内存中是怎么实现的?
怪我咯
怪我咯 2017-04-11 11:16:36
[JavaScript讨论组]

第一个问题

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

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

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

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

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

第二个问题

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

望解答~

怪我咯
怪我咯

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

全部回复(1)
阿神
  1. 请参考,C语言指针

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号