我认为Arrays是对象所以当我执行这行代码时,我期待得到[3,3,3]因为我改变了数组.但是我得到了[2,4,6]
var arr = [2,4,6];
function checkArr(arr){
arr = [3,3,3];
}
console.log(arr)
Run Code Online (Sandbox Code Playgroud)
如果我添加一个return语句,那么我得到了我期望的值.我想知道为什么在执行函数期间给arr一个新值时需要返回.
var arr = [2,4,6];
function checkArr(arr){
arr = [3,3,3];
return arr;
}
console.log(arr)
Run Code Online (Sandbox Code Playgroud)
最后,在这个for循环中我不使用,return并且数组值被更改!我有点困惑.为什么第一个例子没有改变值arr?
var arr = [2,4,6];
function checkArr(arr){
for(var i = 0; i<arr.length; i++){
arr[i] = 3
}
}
console.log(arr)
Run Code Online (Sandbox Code Playgroud)