当我尝试运行以下代码时,我不断在控制台中收到此消息:" undefined不是对象(评估' this.courseAvailThisTerm')"。 courseAvailThisTerm()函数正常工作,因为它在其他上下文中有效。任何人都知道为什么我一直收到此错误消息?我尝试更改for循环版本,但这也不起作用。
for(let quarter of degreePlan) {
foundationCourseSet.forEach(function(fc) {
if(this.courseAvailThisTerm(fc, quarter.term))
console.log("It was avail!");
});
}
答案 0 :(得分:1)
试试这个:
for(let quarter of degreePlan) {
foundationCourseSet.forEach((fc) => {
if(this.courseAvailThisTerm(fc, quarter.term))
console.log("It was avail!");
});
}
我将function (fc) {..}
更改为箭头函数(fc) => {...}
,它在函数执行的上下文中保留this
。