栈内存:主要用于存储各种基本类型的变量,包括Boolean、Number、String、Undefined、Null 以及 对象变量的指针, 这时候栈内存给人的感觉就像一个线性排列的空间,每个小单元大小基本相等。
堆内存:主要负责像对象Object这种变量类型的存储,可以使用栈中的键名来取得。
栈内存中的变量一般都是已知大小或者有范围上限的。
而堆内存存储的对象类型数据对于大小这方面,一般都是未知的。
值类型和引用类型其实说的就是栈内存变量和堆内存变量;值传递和引用传递、深拷贝和浅拷贝,都是围绕堆栈内存展开的,一个是处理值,一个是处理指针。
![](https://img.haomeiwen.com/i27493437/e82b9fdede5305ea.png)
![](https://img.haomeiwen.com/i27493437/e600839fef8d8b48.png)
网友评论