JS的堆栈原理
2021-03-11 本文已影响0人
哼_
堆 指的是 堆内存, 堆是动态分配内存,内存大小不一,也不会自动释放。
堆 是在程序运行时,而不是在程序编译时,申请某个大小的内存空间
栈 指的是 栈内存, 栈是自动分配相对固定大小的内存空间,并由系统自动释放。
栈 是先进后出的,就像一个桶,后进去的先出来,它下面本来有的东西要等其他出来之后才能出来。
数据类型与赋值
基本数据类型:
string number boolean undifined null
引用数据类型: function Object Array
![](https://img.haomeiwen.com/i5817369/8686e949925b2ac4.png)
![](https://img.haomeiwen.com/i5817369/73e59a8c10f816d6.png)
![](https://img.haomeiwen.com/i5817369/533a3f14cf4b2eab.png)
![](https://img.haomeiwen.com/i5817369/e56deb51feb6414a.png)
![](https://img.haomeiwen.com/i5817369/c8d53c04187124c1.png)
总结:
基本数据类型, 变量的复制与修改, 只是新增了一个变量, 不会修改原来的变量.
引用数据类型, 变量的复制与修改, 是增加了一个引用指针, 会修改堆中存放的数据, 会影响原来的变量.