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中的存储机制的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段9——JS中的面向对象编程

JS中的存储机制

Chrome-Devtools代码片段中的多个JS库

Node.js JavaScript 片段中的跳过代码

异常和TCP通讯

前端小知识点:JS 运行机制和存储