class Progress {
constructor(Max, Min) {
this.Max = Max;
this.Min = Min;
this.current;
}
static get get() {
//((input - min) * 100) / (max - min)
return this.current;
}
static set Progress(number) {
this.current = number;
}
}
var prog = new Progress(0, 200);
prog.Progress = 22;
console.log(prog.get);
// console return 'undefined'
任何人都可以帮助我。
我尝试获取“最大”和“最小”的百分比,但我什么也没得到
答案 0 :(得分:2)
Static
static
关键字为类定义了静态方法。在类的实例上不调用静态方法。而是在类本身上调用它们。这些通常是实用程序功能,例如用于创建或克隆对象的功能。
由于修饰符static
,您遇到了问题,基本上,您没有调用方法/属性get
,因为您尝试访问的属性不存在。
例如,要访问静态方法get
,您必须执行以下操作:
Progress.get
完全删除修饰符static
即可。
class Progress {
constructor(Max, Min) {
this.Max = Max;
this.Min = Min;
}
get get() {
return this.current;
}
set Progress(number) {
this.current = number;
}
}
var prog = new Progress(0, 200);
prog.Progress = 22;
console.log(prog.get);
答案 1 :(得分:1)
从get和set中删除静态变量,因为静态方法无法访问局部变量
class Progress {
constructor(Max, Min) {
this.Max = Max;
this.Min = Min;
this.current;
}
get get() {
//((input - min) * 100) / (max - min)
return this.current;
}
set Progress(number) {
this.current = number;
}
}
var prog = new Progress(0, 200);
prog.Progress = 22;
console.log(prog.get);