Javascript函數參數傳遞

js中所有函數參數傳遞都是值傳遞

堆內存和棧內存

棧內存爲自動分配的內存空間,它由系統自動釋放;堆內存則是動態分配的內存,大小不定也不會自動釋放。

js數據類型

  1. 值類型(基本類型):
    字符串(String)、數字(Number)、布爾(Boolean)、對空(Null)、未定義(Undefined)、Symbol(es6新增)。
  2. 引用數據類型:
    對象(Object)、數組(Array)、函數(Function)。

值類型存儲在棧內存中;引用類型存儲在堆內存中,堆內存中對象的引用存儲在棧內存中。在這裏插入圖片描述

參數的傳遞

無論參數是什麼類型,都是按值傳遞的,普通類型傳遞的是本身的值,引用類型傳遞的是自己在棧內存中的“指針”值。

var c = new Object();
c.name='xiao';
c.color='blue';
function newColor(obj){
obj.color='yellow';
}
newColor(c)

過程如圖
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章