789 B
789 B
//+ run
var arr = [1,2,3];
var arr2 = arr; // (*)
arr2[0] = 5;
alert(arr[0]);
alert(arr2[0]);
Код выведет 5
в обоих случаях, так как массив является объектом. В строке (*)
в переменную arr2
копируется ссылка на него, а сам объект в памяти по-прежнему один, в нём отражаются изменения, внесенные через arr2
или arr
.
В частности, сравнение arr2 == arr
даст true
.
Если нужно именно скопировать массив, то это можно сделать, например, так:
var arr2 = [];
for(var i=0; i<arr.length; i++) arr2[i] = arr[i];