Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript在扩展对象时自动添加属性_Javascript_Object_Dynamic_Properties - Fatal编程技术网

javascript在扩展对象时自动添加属性

javascript在扩展对象时自动添加属性,javascript,object,dynamic,properties,Javascript,Object,Dynamic,Properties,在使用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

在使用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
};
是否可以在不使用“外部”方法的情况下完成上述操作,例如无数据。新建条目(对象)


IE9+和所有其他现代浏览器都支持。

查看javascript原型。目前没有可行的方法,只能等待一段时间,然后在Firefox推出时重试。如果你太不耐烦,你甚至可能会得到你的手。干杯感谢所有的快速回复!我不会用原型来摆弄对象。原型并不是我真正想要的。。。就二传手而言:这与我想要的最接近。如果一个通用的setter,也就是说,不仅对于enty_1,而且对于任何条目x都可以被指定,那么我的问题就会得到解决。这就是代理所得到的,至少从我在Mozilla上读到的。我想我现在会坚持使用好的ol'objects方法。再次感谢所有的答案!
var data = {
   set entry_1 (val) {
       for(var i in val) { this[i] = val[i] };
       this["id"] = 1;
   }
}