Java JavaScript 等语言,为什么设计成对函数参数的修改可以影响函数外的值?
function changeValue(v) {
v.value = 2; // 为什么这里要设计成会修改外部的 x,而不自动做深拷贝?
}
let x = { value: 1 };
changeValue(x);
console.log(x.value);
导致我们在写代码的时候经常要手动深拷贝。
Java JavaScript 等语言,为什么设计成对函数参数的修改可以影响函数外的值?
function changeValue(v) {
v.value = 2; // 为什么这里要设计成会修改外部的 x,而不自动做深拷贝?
}
let x = { value: 1 };
changeValue(x);
console.log(x.value);
导致我们在写代码的时候经常要手动深拷贝。
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6.2k 阅读
2 回答2.6k 阅读✓ 已解决
如果改变v不会影响x,那么changevalue函数的意义何在?