爲什麼JavaScript有兩種不同的方式來獲取/設置對象屬性?JavaScript獲取/設置方法與標準方法
例子:
//implementation 1
var obj1 = {
"x":1,
get number() {return this.x},
set number(n) {this.x = n}
}
//implementation 2
var obj2 = {
"x":1,
getX: function(){return this.x},
setX: function(n){this.x = n}
}
難道一個實現風格,具有比其他優勢?
這不是一個好的答案,因爲兩種方法都有完全不同的意圖。 「新」獲取/設置方式確保每當以讀/寫方式訪問屬性時不調用任何方法***就調用getter/setter。實現2要求你明確**調用這些方法,否則在讀取/寫入對象屬性時不會執行它們。 – connexo