目錄
傳值
什麼是傳值
例
傳址
什麼是傳址
例
傳值
什麼是傳值
let a = 1;
let b = a;
console.log(a, b); //1 1
傳值是擷取一份兒相同的值,并自身重新開一份兒屬于自己的記憶體位址,兩個變量是互相獨立的并不會互相影響。
例
let a = 1;
let b = a;
b = 2;
console.log(a);
console.log(b);
修改了b的值,a的值不會受到影響,這就是傳值,兩者是獨立的存在,引用記憶體比較小的引用指派一般都是傳值。
傳址
什麼是傳址
let a = {
name: "xiaoxie",
};
let b = a;
console.log(a, b);
傳值是擷取一份兒相同的值,不會自身重新開一份兒屬于自己的記憶體位址,兩個變量是一個記憶體位址,會互相影響。
例
let a = {
name: "xiaoxie",
};
let b = a;
b.name = "xiaoliu"
console.log(a, b);