2016-09-25 76 views
0

有人可以向我解释为什么变量old仍然分配给1而不是8?我以为变量old会变成8,因为我已经为array [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]'具有的值,它不会创建任何类型的数组元素。来自JS MDN的 – nnnnnn

+0

- 赋值操作符根据其右操作数的值为其左操作数赋值 – Tommy

回答

0
var old=array[0]; 

在这里,我们的array[0]的值赋给变量old

这不会改变array[0]。这基本上意味着这是通过价值传递而不是通过引用。