【发布时间】:2019-12-26 21:55:32
【问题描述】:
由于数组是通过引用传递给函数的,当我将数组设置为等于函数内部的其他值,并尝试再次将其记录到函数外部时,为什么即使我修改了它,值仍然保持不变在函数中?
let arr = [1, 2];
console.log(arr); // Logs [1, 2]
add(arr, 3)
console.log(arr); // Logs [1, 2] again
function add(array, el)
{
array = [el];
console.log(array); // Logs [3]
}
为什么调用add后的console.log退出[1, 2]而不是[3](即el参数的值)?
【问题讨论】:
-
因为函数内部对
array的赋值是对局部变量的赋值,而不是相对全局的array。
标签: javascript arrays