【发布时间】:2022-09-27 10:26:22
【问题描述】:
我是编程新手,我有一个任务不断抛出(您的代码无法执行。Error:ReferenceError: intern is not defined)错误。
作业的最后两个问题给了我这个问题,因为我不完全确定他们正在寻找的解决方案是什么。
说明是 任务 3:编写实习对象 在实习生函数内部实例化 Worker 类以编写新的实习生对象。
实习生应具备以下特点:
name: Bob
age: 21
energy: 110
xp: 0
hourlyWage: 10
在实习生对象上运行goToWork() 方法。然后返回实习对象。
任务 4:编写管理器对象 在管理器函数中实例化 Worker 类以编写新的管理器对象。
管理器对象应具有以下特征:
name: Alice
age: 30
energy: 120
xp: 100
hourlyWage: 30
在管理器对象上运行doSomethingFun() 方法。然后返回管理器对象。
我当前的代码看起来像这样
// Task 1: Code a Person class
class Person {
constructor(name = \"Tom\", age = 20, energy = 100) {
this.name = name;
this.age = age;
this.energy = energy;
}
doSomethingFun() {
if (this.energy > 0) {
this.energy -= 10;
console.log(\'Energy is decreasing, currently at:\', this.energy);
} else if (this.energy == 0) {
this.sleep();
}
}
sleep() {
this.energy += 10;
console.log(\'Energy is increasing, currently at:\', this.energy);
}
}
// Task 2: Code a Worker class
class Worker extends Person {
constructor(name, age, energy, xp = 0, hourlyWage = 10) {
super(name, age, energy);
this.xp = xp;
this.hourlyWage = hourlyWage;
}
goToWork() {
this.xp + 10;
console.log(\'Experience is increasing, currently at:\', this.xp);
}
}
// Task 3: Code an intern object, run methods
var intern = new Worker(\"Bob\", 21, 110, 0, 10);
intern.goToWork()
console.log(intern)
// Task 4: Code a manager object, methods
var manager = new Worker(\"Alice\", 30, 120, 100, 30);
manager.doSomethingFun()
console.log(manager)
-
似乎可能缺少某些东西,您的代码在开发人员控制台和 StackOverflow 的“运行此 sn-p”中都运行良好?
-
我也不明白是什么问题
-
错误似乎来自作业作者使用的 JavaScript 引擎。尽管如此,我在您的代码中发现只有两个不清楚的时刻:在
goToWork()函数中,您正在执行this.xp + 10而不是this.xp += 10。您正在使用var而不是let或const。 -
将 var 更改为 let 和 const 并且两次都将其踢回 Intern is not defined 错误。还将+更改为+=。感谢你目前的帮助
-
重现该错误的唯一方法是注释掉
var intern = new Woker(...)行 ...您可以尝试使用这些 cmets :/* Task 3 */以确保由于某些愚蠢的原因该行未被注释掉。
标签: javascript variable-assignment referenceerror