一、堆和栈的介绍

     1、堆和队,是先进先出;栈,是先进后出,就跟水桶差不多;

     2、存储速度:堆和队的存储速度较慢,栈的存储速度较快,会自动释放;

二、js中存储的类型

     1、堆,一般用于复杂数据类型,存储速度较慢,例如js中的数组对象,object对象;

     2、栈,主要存放一些基本类型的变量和对象的引用,栈内的数据是可以共享; 栈中new 出来的,不用共享,占用新的空间。

 

三、js 中垃圾的回收机制

       js中的堆不需要程序代码得来显示释放,浏览器垃圾回收的基本原则:如果栈中不存在对堆中某个对象的引用,那么就认为该对象不再需要,在垃圾回收时就会清除该对象占用的内存空间。

          js中最常用的方法是,围棋赋值为null。

四、堆和栈中string的使用

var str=new String('abc'); 存在堆中,速度较慢,不能共享;
var str='abc';存在栈中,速度较快,可共享;

JS中的存储机制

JS中的存储机制

最后一个,str1与str2 的指向不一样,指向的不是同一对象,不是引用的同一数据。


 
                    
            
                

相关文章:

  • 2022-02-07
  • 2021-11-08
  • 2021-12-03
猜你喜欢
  • 2022-12-23
  • 2021-09-09
  • 2021-12-07
  • 2022-12-23
  • 2021-12-02
  • 2021-05-25
  • 2021-11-21
相关资源
相似解决方案