JavaScript中所有的变量名都存储在栈内存中吗?
巴扎黑
巴扎黑 2017-04-11 10:34:36
[JavaScript讨论组]

新人有很多理论相关的不理解,javascript中所有的变量名(不管是基本类型或者是引用类型的变量;变量和变量名是不一样的吧)都存储在栈中吗?因为函数的参数也是变量,所以函数的参数名也是存储在栈中的吗?而栈的大小是固定的,所以存储的只是一个变量名称,而不是变量所代表的对象是吗?对象都是存储在堆内存中,会有一个内存首地址,将这个地址赋给了栈中的变量名,是这样吗?请前辈们指点啊

巴扎黑
巴扎黑

全部回复(2)
巴扎黑

所有的有vm的语言,没有C/c++那种机器级别栈,他们会自己搞出很多种数据结构(vm各种内存区之类的)。

天蓬老师

变量可以理解为全部存在栈中,对于引用类型来说变量名是引用(类似于指针的感觉),引用指向内存中存在堆上的对象,而普通的值类型,全部存在栈中,和c++中的概念相通吧,js的对象都是被new出来的,从c++的角度来看,new出来的都是在堆上吧。只是个人想法,也有可能不对。。。

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

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