set方法赋值不成功?
var obj = {
x: 1,
$age: null,
get age() {
return new Date().getFullYear() - 1988;
},
set age(val) {
console.log("设置年龄为" + val);
console.log("this.$age:" + this.$age);
this.$age = val - 0;
}
}
console.log("赋值前:" + obj.age);
obj.age = 22;
console.log("赋值后:" + obj.age);
打印结果:
赋值前:29
设置年龄为22
this.$age:null
赋值后:29上述代码赋值没有成功,请问老师这是什么原因?还有为什么用$age呢,我尝试在set方法中用this.age=val-0;会造成无限循环