为对象定义多个属性可以用Object.definePro- perties()
方法。
这个方法接收两个对象参数:
- 第一个对象是要添加和修改其属性的对象;
- 第二个对象的属性与第一个对象中要添加或修改的属性一一对 应。
例如:
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
对象上定义了两个数据属性(_year
和 edition
)和一个访问器属性(year
)。 最终的对象与上一节中定义的对象相同。
唯一的区别是这里的属性都是在同一时间创建的。
网友评论