繁体   English   中英

不知道为什么我会收到这个 TypeError

[英]Not sure why I'm getting this TypeError

我正在使用类和对象在 javascript 中创建内容列表(我对编程很陌生)。 现在,我认为我有这个权利,但出于某种原因,它抛出了一个

“未捕获的类型错误:courseList.calculateValue 不是 assignment.js:27 处的函数”

无法弄清楚为什么这不起作用。 请帮忙! 这是我的代码:

我的代码

您有一个带有嵌套数组课程的对象 courseList,它实际上包含 Course 类的对象。

courseList 没有这个方法,因为它们是在 Course 类中定义的。 要执行此方法,您需要执行 courseList.courses[0].calculateValue() 和 courseList.courses[1].calculateValue()

看起来您是在一个不是Course对象的对象上调用calculateValue()

在您的情况下,您需要执行courseList.courses[0].calculateValue()来计算第一门课程的价值。 同样,您可以通过更改索引来为其他课程执行此操作。

更长的解释

courseList (严重命名)是一个属性称为对象courses

这个属性有一个值,它是一个Course对象列表。 因此,为了在这些对象上调用Course类中的方法,您需要首先访问courseList course属性的值,然后使用诸如courseList.courses[1]类的索引从列表中选择一门课程来访问它们

courseList.courses[1]现在是一个Course对象,因此您可以在其上调用calculateValue()printSummary()

边注

您在第 28 行的console.log()语句不会打印您的结果(即使您进行了上述修复),因为printSummary不返回任何内容。 您根本不需要调用console.log() ,因为printSummary处理其中的打印

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM