考虑下面的代码片段:为什么推到一个数组会影响另一个数组?
var arr1 = "john".split('');
console.log(arr1); // [ 'j', 'o', 'h', 'n' ]
var arr2 = arr1.reverse();
console.log(arr1); // [ 'n', 'h', 'o', 'j' ]
var arr3 = "jones".split('');
arr2.push(arr3);
console.log(arr1); // [ 'n', 'h', 'o', 'j', [ 'j', 'o', 'n', 'e', 's' ] ]
在过去console.log
,为什么力推arr2
影响arr1
?为什么arr1
在没有修改时更改,只有arr2
被修改?
* “在过去的console.log,为什么力推ARR2影响ARR3?” * - 它没有。最后一个日志记录'arr1',而不是'arr3'。 – nnnnnn
@nnnnnn我的编辑错误,修复 – Li357