JS的变量 - 堆栈存储原理


 

JS的基本语法

变量(variable)

       变量声明

              声明、赋值分解

              单一var

       命名规则

  1. 变量名必须以英文字母、_ 、$ 开头
  2. 变量名可以包括英文字母、_ 、$、数字
  3. 不可以使用系统的关键字、保留字作为变量名

 

 声明、赋值分解  、 单一var

   

 

不可以使用系统的关键字、保留字作为变量名

 

 

 

值类型 – 数据类型

       不可改变的原始值(栈数据)

              Number、String、Boolean、undefined、null

       引用值(堆数据)

              array、object、function

那么你就会问了,啥是堆?啥是栈?

 

刚才我们定义的变量,其实电脑内部会在内存中,分出相应的空间来存储。

值类型是存在栈里的,存取速度都很快。

  栈的特点

    先进后出,类似羽毛球桶,先放进去的羽毛球,要想拿出来,必须先把后放进去的羽毛球拿出来。

 

引用类型的真实数据存在堆里。

  堆的特点

    堆就像一个仓库,随机存,直接取,没有像栈这么麻烦。

    栈中只保存了引用地址,真实数据其实存在堆里,如果想要获取真实的数据,就要通过引用地址去堆里找。

 

不可改变的原始值 是啥意思呢?

   其实栈里的数据,计算机是不会删除的,比如你

  var a = 10;

     a  = 20;

  那么就会变成这样

 

    var a = 10;

      a  = 20;

 

也就是说,之前的 a = 10 的这个 10 ,还是保存着的,计算机不会删掉。

 

那怎么样才能删掉呢?

  你只要不停的创建变量,不断的赋值,直到栈满了,没空间了,计算机才会用新值 覆盖旧值。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM