Object.defineProperties(book , {
_year: {
value: 2004
},
edition: {
value: 1
},
year: {
get: function(){
return this._year;
},
set: function(newValue){
if(newValue > 2004){
this._year = newValue;
this.edition += newValue - 2004;
}
}
}
});
代码如上,为啥在get属性的方法里面返回的是一个undefined呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
试试把year去掉,get、set和_year同级试试?
这种处理一般都在后台进行,前台很少写这么复杂的
_year: {
value: 2004
},
edition: {
value: 1
},
get: function(){
return this._year.value;
},
set: function(newValue){
if(newValue > 2004){
this._year.value = newValue;
this.edition.value += newValue - 2004;
}
}