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一般相关。它可以工作,谢谢;)