JS中的存储机制
Posted 雪昀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中的存储机制相关的知识,希望对你有一定的参考价值。
一、堆和栈的介绍
1、堆和队,是先进先出;栈,是先进后出,就跟水桶差不多;
2、存储速度:堆和队的存储速度较慢,栈的存储速度较快,会自动释放;
二、js中存储的类型
1、堆,一般用于复杂数据类型,存储速度较慢,例如js中的数组对象,object对象;
2、栈,主要存放一些基本类型的变量和对象的引用,栈内的数据是可以共享; 栈中new 出来的,不用共享,占用新的空间。
三、js 中垃圾的回收机制
js中的堆不需要程序代码得来显示释放,浏览器垃圾回收的基本原则:如果栈中不存在对堆中某个对象的引用,那么就认为该对象不再需要,在垃圾回收时就会清除该对象占用的内存空间。
js中最常用的方法是,围棋赋值为null。
四、堆和栈中string的使用
var str=new String(\'abc\'); 存在堆中,速度较慢,不能共享;
var str=\'abc\';存在栈中,速度较快,可共享;
最后一个,str1与str2 的指向不一样,指向的不是同一对象,不是引用的同一数据。
以上是关于JS中的存储机制的主要内容,如果未能解决你的问题,请参考以下文章