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 に答える