将一个数组分配给另一个javascript
所以javascript中的数组是通过引用分配的,例如将一个数组分配给另一个javascript,javascript,arrays,reference,copy,Javascript,Arrays,Reference,Copy,所以javascript中的数组是通过引用分配的,例如 let a = [1,2,3]; let b = a; a = []; console.log(b); 它不应该打印空数组吗?因为a被分配给空数组,而b和a指向同一个数组。我知道这样的行为可能看起来很奇怪。但是,正如其他作者已经提到的,通过编写“a=[]”,您实际上为“a”分配了一个新引用(即,您不再操作“旧”数组),而“b”将保留对最初分配“旧”数组的内存位置的旧引用,并断开与“a”的关系。因此,现在将存在2个引用,而不是最初的1
let a = [1,2,3];
let b = a;
a = [];
console.log(b);
它不应该打印空数组吗?因为a被分配给空数组,而b和a指向同一个数组。我知道这样的行为可能看起来很奇怪。但是,正如其他作者已经提到的,通过编写“a=[]”,您实际上为“a”分配了一个新引用(即,您不再操作“旧”数组),而“b”将保留对最初分配“旧”数组的内存位置的旧引用,并断开与“a”的关系。因此,现在将存在2个引用,而不是最初的1。no.
a
现在有一个新的对象引用。a和b都指向一个内存,您正在对另一个进行引用。这不会改变b