Вероятно, это глупый вопрос :)Назначение переменных Javascript |
var x = [1, 2, 3];
var y = x; // Value of x is stored in y
y[0] = 5;
alert(x[0]); // returns 5. Why?
х [0] в идеале должно быть 1, но почему это 5?
Вероятно, это глупый вопрос :)Назначение переменных Javascript |
var x = [1, 2, 3];
var y = x; // Value of x is stored in y
y[0] = 5;
alert(x[0]); // returns 5. Why?
х [0] в идеале должно быть 1, но почему это 5?
x содержит адрес первого элемента массива и x = y передает это значение в y. Итак, y [0] совпадает с x [0]. Это связано с тем, что x [0] дает адрес как x + 0 и y [0] при y + 0. Так как y и x одинаковы, поэтому y [0] и x [0] указывают на одно и то же место.
Спасибо @Akshey – Mahendhar
Обе переменные 'x' и' y' содержат ссылки на один и тот же массив (это значения объектов). Существует только один массив, и это тот, чей индекс '0' вы изменяете. – Bergi
Вы скопировали * ссылку * не * значение * массива. Что вам делать, это на самом деле * клонировать * массив. –