函数传参数是传引用,为什么下面这样赋值不起作用?
var a = [1,2,3] function fn(arr){ arr = a}var b = []funcArr(b)b // []
当遍历就可以
var a = [1,2,3]
function fn(arr){ for(var i in a){ arr[i] = a [i] } }var b = []funcArr(b)b // [1,2,3]
这意味着我不能改变b?可以直接赋值
var a = [1,2,3]
function fn(){ b = a}var b = []funcArr(b)b // [1,2,3]
但是通过传参数b就不能赋值但是可以改变b的key来改变b
function fn(arr){ arr.push[1] }var b = []funcArr(b)b // [1]
相关分类