js 函数 值传递 引用传递
#### 值传递
- 复制变量值
- 两个变量相互独立
```
let a = "0"
fn(a)
fn(v){
v = "1"//v 与 a 相互独立
}
#### 引用传递
- 复制引用(指针)
- 之后的任何一方改变都会映射到另一方。
- 指针指向Object(数组,new Object...)
```
let obj = new Object
obj.name = "111"
fn(obj)
fn(o){//将obj这个变量名(指针)传入 复制obj给o,o与obj指向同一个地址(Object对象在堆中,o、 obj在栈中)
o.name = "222"
o = new Object()//将o重新指向一个对象,此时o与obj独立不相干
o.name = "333"
}
console.log(o.name)//222
```
本文来自博客园,作者:w0000,转载请注明原文链接:https://www.cnblogs.com/w0000/p/15996966.html