想知道JavaScript的变量存储方式是怎样的?存储在哪里的?也是内存中吗?

想知道JavaScript的变量存储方式是怎样的?存储在哪里的?也是内存中吗?

阅读 8.2k
5 个回答

具体看变量是什么类型,基本数据类型还是引用数据类型。
希望有助:数据类型存储

只看你贴的代码,应该是不会出现你所说的问题的,我猜是不是你其他地方也alert了,你以为是这个地方alert出来的。

请参考《JavaScript高级程序设计》第四章 变量、作用域和内存问题

基本类型变量存储在栈内存中,访问变量直接操作值。
引用类型变量实际存储在堆内存中,对应的变量名保存在栈内存中,变量值就是一个指向对象的指针;通过其对应的变量名操作时:1)如果是复制操作,就是复制指针值,类似于基本类型变量复制,但是对象没做变动,依旧存储在同一个堆内存。2)如果是直接操作属性,应该就是针对对象直接操作。

不在内存在哪里? 有堆有栈,并不是说内存中有两块地址叫堆叫栈,而是根据不同的算法来定义的。比如栈的最鲜明的就是特征就是先进后出,就比如你往箱子里面放书,最先放进去的最后才会拿出来,因为总是从面上开始动的。只要满足这个特征我们就叫他栈。另外还有个概念叫常量池。此外js代码执行的过程是先定义后从上往下执行。

推荐问题
宣传栏