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