// 项目4.2.0中数组的浅拷贝之后 置空导致浅拷贝失效的问题总结
// 1.最常见的浅拷贝,使用push
let a=[2]
let b=a
a.push(3)
console.log(a,b);
// [ 2, 3 ] [ 2, 3 ]
// 2.此时如果将a直接赋值为其他数组,那么a和b会直接解除绑定,b不会随着a更新而更新,而是保持之前的值
let a2=[2]
let b2=a2
a2=[2,3]
console.log(a2,b2);
// [ 2, 3 ] [ 2]
// 3.此时如果将a赋值为[]空数组,那么a和b会直接解除绑定,b不会随着a更新而更新,而是保持之前的值
let a3=[2]
let b3=a3
a3=[]
console.log(a3,b3);
// [] [ 2]
// 4.那么如果我需要置空,但是不想解除绑定,应该怎么做呢?此时采用length=0赋值为空,可看出绑定关系未解除
let a4=[2]
let b4=a4
a4.length=0;
console.log(a4,b4);
// [],[]
web4.0里GET
请求都是同步的,故都是先执行GET再进行绑定的,故可以在GET方法里进行=[]
操作,而不用担心影响到绑定关系。
而web4.2里请求都是异步的,故需要将=[]
改为.length=0