在學習數據類型中,必須要了解到堆和棧的區別,簡單的說一下堆和棧的區別
堆和棧有什么區別:
棧: 先進先出 像杯子的水先進的后出
堆: 先進的先出 像水管先進的先出
棧賦值的是復制例如:
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]