我将从代码开始:
var x = {list: [1, 2, 3], num: 4};
console.log(x);
function asd(x) {
x.list[0] = 4;
return x;
}
console.log(x);
asd(x);
console.log(x);
在firefox控制台上,结果如下:
list: Array [ 4, 2, 3 ]
num: 4
list: Array [ 4, 2, 3 ]
num: 4
list: Array [ 4, 2, 3 ]
num: 4
怎么会这样?首先不应该是[1,2,3],然后是[1,2,3],只有[1,4,2]?这里发生了什么?