var arr = ["d","b","c"]
var a1 = arr
arr.sort()
arr = ["a","b","w"]
console.log(a1) //printing [ 'b', 'c', 'd' ]
在上面的代码片段中,打印a1时会反映出.sort()操作。但是,当我重新分配arr时,为什么a1在打印时没有提到这个新值?
答案 0 :(得分:2)
var arr = ["d","b","c"]
arr
的值设置为对该数组的引用var a1 = arr
arr
的值复制到a1
,现在两个变量都包含对该数组的引用arr.sort()
arr = ["a","b","w"]
arr
的值设置为对该数组的引用a1
未经修改,其值仍然是对第一个数组的引用