堆疊堆疊概念
Js中沒有堆疊概念,引入它為了方便理解和更好的學習:
#資料型別
基本型別資料叫做值型,複雜型別又叫引用型別
a.值型,簡單資料型,在儲存時,變數中儲存的是值本身,因此叫做值類型。
b.引用類型,複雜資料類型,在儲存時,變數儲存的只是位址,用其引用,因此稱為引用資料類型。
堆疊空間分配概念
1.堆疊
由作業系統自動分配釋放,存放函數的參數值,局部變數的值等,操作方式類似資料結構中的堆疊。
2.堆
儲存複雜型別(物件),一般由程式設計師指派釋放,也可由垃圾回收機制回收,分配方式類似鍊式表。
varx =5; vary =6; f1(x,y); functionf1(a,b) { a=a+1; b=b+1; console.log("a="+a);//a=6; console.log("b="+b);//b=7; }
#第一步:預解析過程階段,var 宣告的變數以及函數全部提到頂部:
var x, var y, function f1(a,b){}
第二步:執行階段:
x = 5; y = 6; f1(5,6)调用函数,执行函数体代码; 函数里面var a = 5; var b = 6; a = a+1;//6 b = b+1;//7 返回值
同理:複雜型別資料物件在堆疊相同的儲存方式
以上是什麼是js的堆疊的詳細內容。更多資訊請關注PHP中文網其他相關文章!