我只是在Java脚本中尝试getter和setter方法 我写了下面的代码
<script type="text/javascript">
var Circle = function(radius) {
this._radius = radius;
}
Circle.prototype = {
set radious(radius) {
this._radius = radius;
},
get radious() {
return this._radius;
},
get area() {
return (3.14 * (this._radius * this._radius));
}
};
var circ = new Circle(10);
circ.radius = 15;
document.write("A circle with radius " + circ.radius + " Have an area of " + circ.area);
</script>
所以我在浏览器中得到了这个输出
A circle with radius 15 Have an area of 314
此处圆的半径已更新,但在 area() 中它使用旧值。 我的程序出了什么问题?
最佳答案
您在 setter 中漏掉了 radius
的拼写。您输入了radious
。除此之外,您的代码看起来不错。
关于javascript - 即使在setter设置javascript之后也能获取以前的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42337366/