Javascript 访问器属性
这个和构造函数的意思有点像,但功能又不同,他可以让两个属性建立关联,通过修改一个属性来改变另一个属性。
var book = {
_year:2004,
edition: 1
};
Object.defineProperty(book, "year", {
get: function() {
return this._year;
},
set: function(newValue) {
if (newValue > 2004) {
this._year += newValue;
this.edition += newValue - 2004;
}
}
});
book.year = 2006;
console.log(book.edition);
半年来的话,修改_year,输出值改变的只有year,但通过set,在修改year时edition也同时改变了。