javascript - 如何解决这个(不是函数)错误?
问题描述
这是一段与 JavaScript 项目相关的代码片段。我已经在我的类中声明了这个函数。但是当我使用参数调用函数时(我将元素数组作为参数传递),它返回 Uncaught TypeError: School.pickSubstituteTeacher is not a function。
class School {
pickSubstituteTeacher(substituteTeachers){
let randomTeacher = Math.floor( Math.random() * substituteTeachers.length);
return substituteTeachers[randomTeacher];
}
}
School.pickSubstituteTeacher(['Dave', 'John', 'Henry']);
我希望输出是从这个包含三个元素的数组中选择的随机教师。
解决方案
您需要创建一个实例,然后对其应用方法。
class School {
pickSubstituteTeacher(substituteTeachers){
let randomTeacher = Math.floor( Math.random() * substituteTeachers.length);
return substituteTeachers[randomTeacher];
}
}
const instance = new School()
console.log(instance.pickSubstituteTeacher(['Dave', 'John', 'Henry']));
或者,如果您想要一个静态方法(将在类上而不是类的实例上的方法),那么在方法之前使用 static。
class School {
static pickSubstituteTeacher(substituteTeachers){
let randomTeacher = Math.floor( Math.random() * substituteTeachers.length);
return substituteTeachers[randomTeacher];
}
}
console.log(School.pickSubstituteTeacher(['Dave', 'John', 'Henry']));
推荐阅读
- flutter - 如何在 FLutter 中使用 pushNamed 将数据从一个屏幕传递到另一个屏幕?
- c - C (K&R) 中关于 getchar 和 putchar 的问题
- apache-kafka - 未设置 Logstash Kafka 配置`ssl_keystore_location`
- tensorflow - Tensorflow 数据集 - 什么是 pandas dataframe.info 等价物?
- java - 无法引用对象属性
- c - rotateArray 例如 1 2 3 4 >>> 2 3 4 1 与给定函数
- image - 容器和其他身体下方的打开盒子如何在颤动中模糊
- r - 将 ggplots 存储在循环中使所有图都成为最后一个
- python - SQLAlchemy 给出 TypeError 从 SQLite 数据库读取字符串
- asp.net - .rdlc 报告条形图仅显示类别组中 16 个项目中的 3 个