假设我们有一个变量a。我们希望将其保存以备后用,所以我们使用.slice(0)复制它:
var a = [[1,2]]
var b = a.slice(0)
这应该起作用,对吗?好吧,如果我们这样做:
var a = [[1,2]]
var b = a.slice(0)
console.log(b + " - before change")
a[0][1] -= 2
console.log(b + " - after change")
它返回:
1,2 - before change
1,0 - after change
但是,如果我们将变量a更改为[1,2],则它可以正常工作。为什么会这样?