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
感谢您的帮助
有人可以向我解释为什么变量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
感谢您的帮助
var old=array[0];
在这里,我们的array[0]
的值赋给变量old
这不会改变array[0]
。这基本上意味着这是通过价值传递而不是通过引用。
'var old = array [0];'只是将'old'设置为'array [0]'具有的值,它不会创建任何类型的数组元素。来自JS MDN的 – nnnnnn
- 赋值操作符根据其右操作数的值为其左操作数赋值 – Tommy