This question already has answers here:
How do I correctly clone a JavaScript object?

(71个答案)


已关闭6年。




考虑以下代码或检查此fiddle
var obj = {
    name: "abc",
    age: 20
}

var objTwo;

console.log(obj.age);
objTwo = obj;
objTwo.age = 10;
console.log(obj.age);

我创建了一个名称为obj的对象,它具有两个属性。现在,我将obj分配给另一个名为objTwo的对象。现在,我更新objTwo中的属性之一。同样的变化也反射(reflect)在obj上。 如何在不创建引用的情况下将值从一个对象分配给另一个对象?

最佳答案

这将不通过引用分配

<script>
    var obj =
    {
        name: 'abc',
        age: '30'
    };

    var objTwo = {};

    for( var i in obj )
    {
        objTwo[i] = obj[i];
    }
</script>

查看fiddle

09-29 23:29