回到课程

数组被拷贝了吗?

重要程度: 3

下面的代码将会显示什么?

let fruits = ["Apples", "Pear", "Orange"];

// 在“副本”里 push 了一个新的值
let shoppingCart = fruits;
shoppingCart.push("Banana");

// fruits 里面是什么?
alert( fruits.length ); // ?

结果是 4:

let fruits = ["Apples", "Pear", "Orange"];

let shoppingCart = fruits;

shoppingCart.push("Banana");

alert( fruits.length ); // 4

这是因为数组是对象。所以 shoppingCartfruits 是同一数组的引用。