我遇到问题或者我没明白。 我需要编写 Circle 类并实现以下功能。
1.属性:中心坐标和半径。
2.定义带有参数的构造函数来初始化对象。
3.Define方法,返回长度f周长(L= 2 * π * R)。
4.定义方法,返回当前对象的副本。
5.定义将对象当前状态转换为字符串并返回结果的方法。
6.定义给定半径的圆周静态方法。
这是我的决定,但我陷入困境。
function circle(radius)
{
this.radius = radius;
this.area = function ()
{
return Math.PI * this.radius * this.radius;
};
this.perimeter = function ()
{
return 2*Math.PI*this.radius;
};
}
var c = new circle(3);
console.log('Area =', c.area().toFixed(2));
console.log('perimeter =', c.perimeter().toFixed(2));
最佳答案
如果您希望使用现代 JavaScript (ECMAScript) 实现相同的功能。这是下面的方法
class circle{
constructor( radius ){
this.radius = radius;
}
get area(){
return Math.PI * this.radius * this.radius;
}
get perimeter(){
return 2*Math.PI*this.radius;
}
}
var c = new circle(3);
console.log('Area =', c.area.toFixed(2));
console.log('perimeter =', c.perimeter.toFixed(2));
如果你想将面积和周长作为方法而不仅仅是 getter 方法。那么你应该在方法名称之前删除 get 前缀。这意味着这些方法是 setter/getter
关于javascript - 编写类并实现功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58205403/