4

在使用 JavaScript 时,我遇到了一种情况,我不确定我想要完成的事情是否可行:

考虑以下对象:

var data = {};

是否可以通过以下方式扩展“数据”

data.entry_1 = {
    'prop_1': 'set_1',
    'prop_2': 'set_2'
};

新属性会自动附加到新对象,也就是说

data.entry_1 = {
    'prop_1': 'set_1',
    'prop_2': 'set_2',
    id: 1 // automatically created property
};

是否可以在不使用“外部”方法的情况下完成上述操作,例如没有 data.newEntry(object)?

4

1 回答 1

1
var data = {
   set entry_1 (val) {
       for(var i in val) { this[i] = val[i] };
       this["id"] = 1;
   }
}

在 IE9+ 和所有其他现代浏览器中受支持。

于 2012-06-13T09:19:37.743 回答