数组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);
我觉的出现这个现象的原因也是深拷贝和浅拷贝的关系。