var arr=[1,2,3];function change(arr){arr=new Array(100,200,300);}change(arr);console.log(arr[0]);/*我知道最后arr[0]输出是1,可是change(arr)中已经给新的数组赋值了,那用什么表示新的数组呢,名字都是arr啊*/
1 回答
qq_清浅安然_0
TA贡献1条经验 获得超0个赞
您表述的含义我的理解是您没有理解全局作用域和函数作用域,arr在函数里变成了局部变量,您在函数外声明的是全局变量arr,他们虽然是同名的但是其实是两个变量,所以你不用纠结新数组怎么命名,如果你想用arr是ok的,因为他们在不同的作用域中
添加回答
举报
0/150
提交
取消