let a= {age: 10};Object.defineProperty( a,'age',{get:function() {console.log(age);},set:function(newData) {console.log(newData)}})然后我執行a.age就報錯 age is not defined
2 回答

繁華開滿天機
TA貢獻1816條經驗 獲得超4個贊
get方法里,不能直接使用age作為輸出,而需要使用a.age。
需要把:
console.log(age);
更換成:
console.log(a.age);
是不是這樣更改更合理些?
let a = {age: 2};
let temp = 1;
Object.defineProperty( a,'age',{
get:function() {
return temp;
},
set:function(newData) {
temp = newData;
}
});
a = {
age: 10
};
console.log(a.age);
添加回答
舉報
0/150
提交
取消