将一个对象(数组A)复制给数组B,并删除数组A,在打印数组B,数组B是empty

xiaoxiao2021-02-28  40

数组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);

我觉的出现这个现象的原因也是深拷贝和浅拷贝的关系。

转载请注明原文地址: https://www.6miu.com/read-2621451.html

最新回复(0)