请问在js中Object.defineProperty中莫名报错是怎么回事?怎么解决?

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

胡说叔叔
浏览 333回答 2
2回答

繁华开满天机

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);

慕的地6264312

这种情况可能是网络的问题。
打开App,查看更多内容
随时随地看视频慕课网APP