2

オブジェクトの複数の変数を同時に設定する方法はありますか? たとえば、次のコードがあります。

_p.a=1; 
_p.b=2;
_p.c=3;

私がやりたいことは、次のようなものです。

_p.[{'a': 1, 'b': 2, 'c': 3}];  // this code does not do the trick

そのようなことをする方法はありますか?

4

3 に答える 3

3

使用できますObject.defineProperties

var _p = {
  foo: 'bar'
};
Object.defineProperties(_p, {
  'a': {
    value: 1,
    writable: true,
    enumerable: true
  },
  'b': {
    value: 2,
    writable: true,
    enumerable: true
  },
  'c': {
    value: 3,
    writable: true,
    enumerable: true
  }
});
console.log(_p); //Object {foo: "bar", a: 1, b: 2, c: 3}
于 2013-04-14T08:58:45.103 に答える
0

オブジェクト _p があり、別のオブジェクト (この場合はリテラル) を使用してそれを拡張したいと考えています。

jquery にはそのためのユーティリティがあります。

http://api.jquery.com/jQuery.extend/

 $.extend(_p, {'a': 1, 'b': 2, 'c': 3});  

アンダースコアも同様です:

http://underscorejs.org/#extend

_.extend(_p,  {'a': 1, 'b': 2, 'c': 3})
于 2013-04-14T09:03:05.553 に答える
0

次のようなものを使用できると思います。

Object.prototype.setProps = function(props){
    for(var i in props){
        if(props.hasOwnProperty(i))
            this[i] = props[i];
    }
}

と:

_p.setProps({a: 1, b: 2, c: 3});
于 2013-04-14T09:04:59.537 に答える