JS中的堆和棧有什么區別


在學習數據類型中,必須要了解到堆和棧的區別,簡單的說一下堆和棧的區別

堆和棧有什么區別:

                   棧: 先進先出       像杯子的水先進的后出 

                   堆: 先進的先出    像水管先進的先出  

棧賦值的是復制例如:

      var a = 10;

      var  b = a;

      console.log(b);//10

      //如果a的值改變,b的值不會變;

      a = 15;

      console.log(b);//10

堆是和棧結合使用:

    //數組的是放在堆里,但變量a拿到的是一個地址索引,指向這個數組

    var a = [1,2,3];

    //把地址索引復制給b,不是復制數據內容

    var b = a;

    console.log(b);//[1,2,3]

    //從新給a賦值,a改變了地址,無法查看原數據

    a = [3,4,5];

    console.log(b);[1,2,3]

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM