gpt4 book ai didi

javascript - 如何在 Javascript 中调用同一个类中的另一个方法

转载 作者:行者123 更新时间:2023-12-02 23:13:06 25 4
gpt4 key购买 nike

我知道以前有过这样的问题,但我已经尝试过答案,但仍然失败并出现错误:

__salaryTypeFromWeekday is not a function.

我尝试在构造函数内使用“bind”,使用“this”来调用函数,并更改函数声明以包含“this”关键字。

class SalaryType {
constructor(selectedSalaryType) {
this.selectedSalaryType = selectedSalaryType;
this.__salaryTypeFromWeekday = this.__salaryTypeFromWeekday.bind(this)
}

get selected() {
return this.selectedSalaryType;
}

static __updateSalaryType(typeOfDayStr, statusStr)
{
var typeOfDay = parseInt(typeOfDayStr, 10);
var status = parseInt(statusStr, 10);
switch(typeOfDay) {
case WEEK_DAY:
this.selectedSalaryType = this.__salaryTypeFromWeekday(status);
break;
}
return this.selectedSalaryType;
}

__salaryTypeFromWeekday(status) {
switch(status) {
case WORK_ATTENDANCE:
return SALARY_KIND_NORMAL;
default:
return null;
}
}
}

最佳答案

我很确定问题是您从静态函数调用 __salaryTypeFromWeekdays,该函数没有“this”的实例,因为它在类上操作而不是在实例上操作。因此,您应该将 __salaryTypeFromWeekdays 转换为静态函数,或者将 __updateSalaryType 传递给该类的实际实例并按如下方式使用它:实例.__salaryTypeFromWeekdays

关于javascript - 如何在 Javascript 中调用同一个类中的另一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57266677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com