2016-09-25 4 views
0

Может кто-нибудь объяснить мне, почему переменная old все еще назначена 1 вместо 8? Я думал, что переменная old изменится на 8, потому что я присвоил новое значение массиву [0]. Я думал, что знак равенства имеет свойство транзитивности.Изменение значения переменной Javascript

array= [1,2,3,4,5]; 
var old=array[0]; 
array[0]=8; 
console.log(old);//1 

Спасибо за вашу помощь

+0

'var old = array [0];' просто устанавливает 'old' любое значение' array [0] 'в данный момент, оно не создает никакой текущей связи с этим элементом массива. – nnnnnn

+0

от JS MDN - Оператор присваивания присваивает значение своему левому операнду на основе значения его правого операнда – Tommy

ответ

0
var old=array[0]; 

Здесь вы присваиваете значение array[0] переменной old

Это не меняет array[0]. Это в основном означает, что это передается по значению, а не по ссылке.