传值
什么是传值
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);
编辑
修改了b.name就是修改了a.name的值,两者使用同一个内存地址,一般引用占用内存较大的变量时,会传址,比如对象和数组。