3

是否可以在不覆盖已经设置的属性的情况下扩展对象?在下面的示例中,我正在寻找一种方法来为猫添加 2 个翅膀,但保留它的 4 条腿。

var cat  = { legs: 4 };
var bird = { legs: 2, wings: 2 }

// some references in my application to the original cat
var some_cat = cat;

$.extend( cat, bird );

// expected { legs: 4, wings: 2 }
console.log( some_cat );

更新

我忘了在原始问题/示例中说清楚,但重要的是它修改了原始 cat 对象。

4

1 回答 1

4

尝试类似的东西 -

for (prop in bird) {
    if(!cat.hasOwnProperty(prop)) {
        cat[prop] = bird[prop];
    }
}

在 cat = {腿:4,翅膀:2} 之后

于 2013-08-19T07:56:41.437 回答