JavaScript参数按值传递javascript
var value = 1 function foo(value){ value = 2 console.log(value) // 2 } foo(value) console.log(value) // 1 当传递value到函数foo中,至关于拷贝了一份value,假设拷贝的这份叫_value,函数中修改的都是_value的值,而不会影响原来的value的值
引用传递?java
var obj = { value : 1 } function foo(obj){ obj.value=2 console.log(obj.value)// 2 } foo(obj) console.log(obj.value)// 2
上面说了ECMAScript中全部函数的参数都是按值传递,怎么能按引用传递成功呢数据结构
var obj = { value : 1 } function foo(obj){ obj = 2 console.log(obj)// 2 } foo(obj) console.log(obj.value)// 1
若是JavaScript采用的是引用传递,外层的值也会被修改。函数