数组B打印出来是
我觉得原因是:将数组A复制给数组B后,删掉了数组A,因为这里的复制方式是B=A,这样就造成B其实是A的一个引用,所以再打印B 的内容,就会无效,所以显示的是empty。但是长度属性是B数组在复制的时候深度拷贝的,所以有效。
还有一个问题:
var test={};
(function(test){
test={
a:1,
b:2
};
})(test);
console.log(test);
控制台结果是
而
var test={};
(function(test){
//test={
// a:1,
// b:2
//};
test.a=1;
test.b=2;
})(test);
console.log(test);
我觉的出现这个现象的原因也是深拷贝和浅拷贝的关系。