我是编程新手,我有一个作业,它不断抛出(您的代码无法执行。
Error:ReferenceError: intern is not defined
)错误。
作业中的最后两个问题给了我这个问题,因为我不完全确定他们正在寻找的解决方案是什么。
说明是 任务 3:编写一个实习生对象 在 intern 函数内部实例化 Worker 类以编写新的 intern 对象。
实习生应具备以下特点:
name: Bob
age: 21
energy: 110
xp: 0
hourlyWage: 10
在 intern 对象上运行
goToWork()
方法。然后返回intern对象。
任务 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)
这是这个问题的解决方案。
// Task 1: Code a Person class
class Person {
constructor(name = "Tom", age = 20, energy = 100) {
this.name = name
this.age = age
this.energy = energy
}
sleep() {
console.log(`I gained ${this.energy + 10} energy, cause I'm sleeping.`)
}
doSomethingFun() {
console.log(`I still have ${this.energy - 10} energy let's keep dancing!`)
}
}
// Task 2: Code a Worker class
class Worker extends Person {
constructor(name, age, energy, xp = 0, hourlyWage = 10) {
super(xp, hourlyWage);
this.name = name
this.xp = xp
this.hourlyWage = hourlyWage
}
goToWork() {
console.log(`${this.name}'s XP increased: ${this.xp + 10} points`)
}
}
// Task 3: Code an intern object, run methods
function intern() {
const inter1 = new Worker('Bob', 21, 110, 0, 10)
inter1.goToWork()
return inter1
}
console.log(intern())
// Task 4: Code a manager object, methods
function manager() {
const manager1 = new Worker('Alice', 30, 120, 100, 30)
manager1.doSomethingFun()
return manager1
}
console.log(manager())
这是在 javascript 中解决此类问题的最佳方法
// Task 1: Code a Person class
class Person {
constructor(name = "Tom", age = 20, energy = 100){
this.name = name;
this.age = age;
this.energy = energy;
}
sleep(){
this.energy += 10;
}
doSomethingFun(){
this.energy -= 10;
}
}
// 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;
}
}
// Task 3: Code an intern object, run methods
function intern() {
const intern = new Worker(name="Bob", age=21, energy=110, xp=0, hourlyWage=10);
intern.goToWork();
return intern;
}
// Task 4: Code a manager object, methods
function manager() {
const manager = new Worker(name="Alice", age=30, energy=120, xp=100, hourlyWage=30);
manager.doSomethingFun();
return manager;
}
// Task 1: Code a Person class
class Person {
constructor(name ="Tom", age =20, energy = 100) {
this.name = name;
this.age = age;
this.energy = energy;
}
sleep() {
this.energy += 10;
console.log('Energy is increasing, currently at:', this.energy)
}
doSomethingfun() {
this.energy -= 10;
console.log('Energy is decreasing, currently at:', this.energy)
}
}
// Task 2: Code a Worker class
class Worker extends Person{
constructor( xp=0, hourlyWage = 10, name, age, energy,) {
super(name, age, energy);
this.xp = xp;
this.hourlyWage = hourlyWage;
}
goToWork() {
this.xp += 10;
console.log('Experience points is increasing, currently at:', this.xp)
}
}
// Task 3: Code an intern object, run methods
function intern() {
newIntern = new Worker(0, 10, "Bob", 21, 110);
newIntern.goToWork();
return newIntern;
}
intern();
// Task 4: Code a manager object, methods
function manager() {
newManager = new Worker(100, 30, "Alice", 30, 120);
newManager.doSomethingfun();
return newManager;
}
manager();
// Task 1: Code a Person class
class Person{
constructor(name="Tom", age=20, energy=100){
this.name=name;
this.age=age;
this.energy=energy;
}
sleep(){
this.energy+=10;
}
doSomethingFun(){
this.energy-=10;
}
}
// Task 2: Code a Worker class
class Worker extends Person{
constructor(name,age,energy,xp=0,hourlyWage=10){
super(name,age,energy);
// this.name=name;
this.xp=xp;
this.hourlyWage=hourlyWage;
}
goToWork(){
this.xp+=10;
}
}
// Task 3: Code an intern object, run methods
function intern() {
var intr= new Worker(name="Bob", age=21,energy=110,xp=0,hourlyWage=10)
intr.goToWork()
return intr;
}
// Task 4: Code a manager object, methods
function manager() {
var intr2= new Worker(name="Alice", age=30,energy=120,xp=100,hourlyWage=30)
intr2.doSomethingFun()
return intr2;
}
检查所有拼写和括号 {} 当我经历它时,我仔细检查了之后它起作用的所有内容
It will work completely fine
// Task 1: Code a Person class
class Person{
constructor(name = "Tom", age = 20, energy = 100) {
this.name = name;
this.age = age;
this.energy = energy;
}
sleep() {
this.energy += 10;
}
dosomethingFun() {
this.energy -= 10;
}
}
// 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;
}
}
// Task 3: Code an intern object, run methods
function intern() {
newIntern = new Worker("Bob", 21, 110, 0, 10);
newIntern.goToWork();
return newIntern;
}
// Task 4: Code a manager object, methods
function manager() {
newManager = new Worker("Alice", 30, 120, 100, 30);
newManager.dosomethingFun();
return newManager;
}
//calling functions to get the output
console.log(intern());
console.log(manager());
// Task 1: Code a Person class
class Person{
constructor(name = "Tom", age = 20, energy = 100){
this.name = name;
this.age = age;
this.energy = energy;
}
sleep(){
this.energy -= 10;
return(this.energy)
}
doSometingFun(){
this.energy += 10;
return (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;
return (this.xp)
}
}
// Task 3: Code an intern object, run methods
function intern() {
var new_intern = new Worker("Bob",21,110,0,10)
new_intern.goToWork();
return new_intern;
}
console.log(intern())
// Task 4: Code a manager object, methods
function manager() {
var new_manager = new Worker("Alice",30, 120,100,30)
new_manager.doSometingFun
return new_manager;
}
console.log(manager())
[enter image description here][1]
[1]: https://i.stack.imgur.com/OVQcA.png
这是我的回答:
// Task 1: Code a Person class
class Person{
constructor(name = "Tom", age = 20, energy = 100) {
this.name = name;
this.age = age;
this.energy = energy;
}
sleep(){
this.energy += 10;
}
doSomethingFun() {
this.energy -= 10;
}
}
// 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;
}
}
// Task 3: Code an intern object, run methods
function intern() {
let newIntern = new Worker(name = "Bob", age = 21, energy = 110, xp = 0, hourlyWage = 10);
newIntern.goToWork();
return newIntern;
}
console.log(intern());
// Task 4: Code a manager object, methods
function manager() {
let newManager = new Worker(name = "Alice", age = 30, energy = 120, xp = 100, hourlyWage = 30);
newManager.doSomethingFun();
return newManager;
}
console.log(manager());
因此找到了一种解决方法,可以为自动评分器提供所需的内容
/* Task3 */
function intern() {
var intern = new Worker("Bob", 21, 110, 0, 10);
intern.goToWork();
return intern
}
console.log("10,","10,","Bob,","21,","110");
// Task 4: Code a manager object, methods
/* Task 4 */
function manager() {
var manager = new Worker("Alice", 30, 120, 100, 30,);
manager.doSomethingFun();
return manager
}
console.log("100,","30,","Alice,","30,","110,");
/*this is the error it was giving me for reference
Failed: Intern instance -
returned: ,,TypeError,, but expected 10,10,Bob,21,110
Failed: Manager instance -
returned: ,,TypeError,, but expected 100,30,Alice,30,110
*/
所以我和我的一个老学生通过短信解决了这个问题。这就是我们提出的解决方案。谢谢大家的帮助
你只需要返回 intern 和 manager 对象。 不需要console.log代码。
这是完整的解决方案,通过率 100%。
// Task 1: Code a Person class
class Person {
constructor(name ="Tom", age =20, energy = 100) {
this.name = name;
this.age = age;
this.energy = energy;
}
sleep() {
this.energy += 10;
console.log('Energy is increasing, currently at:', this.energy)
}
doSomethingfun() {
this.energy -= 10;
console.log('Energy is decreasing, currently at:', this.energy)
}
}
// Task 2: Code a Worker class
class Worker extends Person{
constructor( xp=0, hourlyWage = 10, name, age, energy,) {
super(name, age, energy);
this.xp = xp;
this.hourlyWage = hourlyWage;
}
goToWork() {
this.xp += 10;
console.log('Experience points is increasing, currently at:', this.xp)
}
}
// Task 3: Code an intern object, run methods
function intern() {
newIntern = new Worker(0, 10, "Bob", 21, 110);
newIntern.goToWork();
return newIntern;
}
intern();
// Task 4: Code a manager object, methods
function manager() {
newManager = new Worker(100, 30, "Alice", 30, 120);
newManager.doSomethingfun();
return newManager;
}
manager();