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