javascript 函式引用型別和簡單型別傳參

admin發表於2017-04-15

關於簡單型別也可以稱作為值型別。

簡單型別和引用型別更多內容可以參閱javascript引用型別和基本型別詳解一章節。

下面通過程式碼例項介紹一下javascript函式簡單型別和引用型別傳參。

一.簡單型別傳參:

[JavaScript] 純文字檢視 複製程式碼
var num = 2;
function fn(x){
  x++;
  console.log(x);
}
fn(num);
console.log(num);

當對函式進行傳參的時候,實際上是複製一份num中的資料作為函式的引數;又由於num是簡單型別資料,num直接儲存資料本身(這裡是數字2),所以函式內部的操作並不會影響變數num的值。

二.引用型別傳參:

[JavaScript] 純文字檢視 複製程式碼
var arr = [2];
function fn(x){
  x[0]++;
}
fn(arr);
console.log(arr[0]);

同樣,還會複製一份變數arr的值作為函式的引數,但是arr儲存的是陣列,所以arr中實際儲存的是陣列的記憶體地址,所以傳遞給函式引數值也是這個陣列的記憶體地址,所以函式內部所操作的是同一個陣列。

相關文章