Javascript 我能';我得不到这个类的价值

Javascript 我能';我得不到这个类的价值,javascript,Javascript,课程进度{ 构造函数(最大值、最小值){ 这个。Max=Max; 这个.Min=Min; 这是目前的情况; } 静态get get(){ //((输入-最小)*100)/(最大-最小) 返回此.current; } 静态设置进度(编号){ 这个。电流=数字; } } var prog=新进展(0,200); 进展=22; 控制台日志(prog.get); //控制台返回“undefined”从get和set中删除static,因为static方法无法访问局部变量 class Progress {

课程进度{
构造函数(最大值、最小值){
这个。Max=Max;
这个.Min=Min;
这是目前的情况;
}
静态get get(){
//((输入-最小)*100)/(最大-最小)
返回此.current;
}
静态设置进度(编号){
这个。电流=数字;
}
}
var prog=新进展(0,200);
进展=22;
控制台日志(prog.get);

//控制台返回“undefined”
从get和set中删除static,因为static方法无法访问局部变量

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);
static
关键字定义类的静态方法。不在类的实例上调用静态方法。相反,它们是在类本身上调用的。这些通常是实用程序函数,例如用于创建或克隆对象的函数

由于修饰符
static
,您遇到了一个问题,基本上,您没有调用方法/属性
get
,因为您试图访问一个不存在的属性

例如,要访问静态方法
get
,必须执行以下操作:

Progress.get
删除修改器
static
一切都很好

课程进度{
构造函数(最大值、最小值){
这个。Max=Max;
这个.Min=Min;
}
得到{
返回此.current;
}
设置进度(编号){
这个。电流=数字;
}
}
var prog=新进展(0,200);
进展=22;

控制台日志(prog.get)
尝试从get和set中删除
static
。静态方法无法访问
,因为它们是静态的。另外,因为它们是静态的,所以它们属于类,而不是类实例,因此您可以在
Progress
上调用它们。我建议您遵循OOP初学者教程,因为这与javascript方法没有严格的关系,而是与OOP一般相关。它可以工作,谢谢;)