6.1.2.定义多个属性

为对象定义多个属性可以用Object.definePro- perties()方法。
这个方法接收两个对象参数:

  1. 第一个对象是要添加和修改其属性的对象;
  2. 第二个对象的属性与第一个对象中要添加或修改的属性一一对 应。
    例如:
var book = {};
Object.defineProperties(
    book,{
        _year:{
            value:2004
        },
        edition:{
            value:1
        },
        year:{
            get:function(){
                return this._year;
            },
            set:function(newValue){
                if(newValue>2004){
                    this._year = newValue;
                    this.edition += newValue - 2004;
                }
            }
        }
    }
);

以上代码在 book 对象上定义了两个数据属性(_yearedition)和一个访问器属性(year)。 最终的对象与上一节中定义的对象相同。
唯一的区别是这里的属性都是在同一时间创建的。

你可能感兴趣的:(6.1.2.定义多个属性)