Don*_*Joe 1 javascript variables mutability
So, I understand that arrays in JavaScript are mutable.
意味着如果我创建数组a和数组b = a,那么如果我修改数组a,修改在数组中也可见b。
但是,在以下情况下,我不明白为什么b会丢失对array的“引用” a。
var a = [1,2,3];
var b = a;
console.log('a =', a);
console.log('b =', b);
a[0] = 4;
console.log('a =', a);
console.log('b =', b);
a = [5,5];
console.log('a =', a);
console.log('b =', b);Run Code Online (Sandbox Code Playgroud)
a并且b不是互相引用-它们是对同一数组的引用。
当您这样做时a = [5,5],您将设置a为一个全新的数组,同时b仍然引用旧的数组。