想知道JavaScript的变量存储方式是怎样的?存储在哪里的?也是内存中吗?
基本类型变量存储在栈内存中,访问变量直接操作值。
引用类型变量实际存储在堆内存中,对应的变量名保存在栈内存中,变量值就是一个指向对象的指针;通过其对应的变量名操作时:1)如果是复制操作,就是复制指针值,类似于基本类型变量复制,但是对象没做变动,依旧存储在同一个堆内存。2)如果是直接操作属性,应该就是针对对象直接操作。
不在内存在哪里? 有堆有栈,并不是说内存中有两块地址叫堆叫栈,而是根据不同的算法来定义的。比如栈的最鲜明的就是特征就是先进后出,就比如你往箱子里面放书,最先放进去的最后才会拿出来,因为总是从面上开始动的。只要满足这个特征我们就叫他栈。另外还有个概念叫常量池。此外js代码执行的过程是先定义后从上往下执行。
27 回答13.1k 阅读
8 回答3.5k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
5 回答5.3k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
3 回答1.7k 阅读
4 回答2.3k 阅读✓ 已解决
具体看变量是什么类型,基本数据类型还是引用数据类型。
希望有助:数据类型存储