使用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(对象)?
答案 0 :(得分:1)
var data = {
set entry_1 (val) {
for(var i in val) { this[i] = val[i] };
this["id"] = 1;
}
}
在IE9 +和所有其他现代浏览器中受支持。