Javascript代码的小小疑问(85)——深拷贝

function deepcopy(obj) {

    //
    if (typeof obj != 'object') {
        return obj;
    }
    //
    var newObj = {};
    for (var attr in obj) {
        newObj[attr] = deepcopy[attr];
    }
    return newObj[attr];

};

var x = {
    "a":{
        "b":"old"
    }
};

var x2 = deepcopy(x);
x2.a.b = "new";

console.log(x.a.b);  //真是奇葩,为何老提示could not read propery"a",not defined... "
qq_花开花谢_0
浏览 522回答 2
2回答

月关宝盒

没看懂你要做什么,但是你的逻辑有问题,因为你deepcopy里面都没有创建a,b对象

慕森王

newObj[attr] = deepcopy[attr];  检查代码
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript