我一直在尝试了解 getter 和 setter,但它没有被理解。我读过JavaScript Getter 和 Setter http://ejohn.org/blog/javascript-getters-and-setters/ and 定义 Getter 和 Setter https://developer.mozilla.org/En/Core_JavaScript_1.5_Guide:Creating_New_Objects:Defining_Getters_and_Setters只是没有得到它。
有人可以明确指出:
- getter 和 setter 的用途是什么,以及
- 举一些非常简单的例子?
此外@millimoose 的回答 https://stackoverflow.com/questions/812961/javascript-getters-and-setters-for-dummies-meaning-me/812985#812985,设置器也可用于更新其他值。
function Name(first, last) {
this.first = first;
this.last = last;
}
Name.prototype = {
get fullName() {
return this.first + " " + this.last;
},
set fullName(name) {
var names = name.split(" ");
this.first = names[0];
this.last = names[1];
}
};
现在,您可以设置fullName
, and first
and last
将被更新,反之亦然。
n = new Name('Claude', 'Monet')
n.first # "Claude"
n.last # "Monet"
n.fullName # "Claude Monet"
n.fullName = "Gustav Klimt"
n.first # "Gustav"
n.last # "Klimt"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)