天天看點

[JS ES6]傳值和傳址

目錄

​​傳值​​

​​什麼是傳值​​

​​ 例 ​​

​​傳址​​

​​什麼是傳址​​

​​例 ​​

傳值

什麼是傳值

let a = 1;
let b = a;
console.log(a, b);  //1 1      
[JS ES6]傳值和傳址

傳值是擷取一份兒相同的值,并自身重新開一份兒屬于自己的記憶體位址,兩個變量是互相獨立的并不會互相影響。

[JS ES6]傳值和傳址

 例 

let a = 1;
let b = a;
b = 2;
console.log(a);
console.log(b);      
[JS ES6]傳值和傳址

修改了b的值,a的值不會受到影響,這就是傳值,兩者是獨立的存在,引用記憶體比較小的引用指派一般都是傳值。

傳址

什麼是傳址

let a = {
    name: "xiaoxie",
};
let b = a;
console.log(a, b);      
[JS ES6]傳值和傳址

傳值是擷取一份兒相同的值,不會自身重新開一份兒屬于自己的記憶體位址,兩個變量是一個記憶體位址,會互相影響。

例 

let a = {
    name: "xiaoxie",
};
let b = a;
b.name = "xiaoliu"
console.log(a, b);      

繼續閱讀