Javascript 作业出现问题,我不知道解决方案是什么,我已经尝试了一切

问题描述 投票:0回答:11

我是编程新手,我有一个作业,它不断抛出(您的代码无法执行。

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)

javascript variable-assignment referenceerror
11个回答
1
投票

这是这个问题的解决方案。

// 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())

1
投票

这是在 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;
}

0
投票

    // 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();


0
投票
// 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;
}

0
投票

检查所有拼写和括号 {} 当我经历它时,我仔细检查了之后它起作用的所有内容


0
投票
   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());

0
投票
// 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

0
投票

这是我的回答:

// 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());

-1
投票

因此找到了一种解决方法,可以为自动评分器提供所需的内容

/* 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 
*/ 

所以我和我的一个老学生通过短信解决了这个问题。这就是我们提出的解决方案。谢谢大家的帮助


-1
投票

你只需要返回 intern 和 manager 对象。 不需要console.log代码。


-1
投票

这是完整的解决方案,通过率 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();

© www.soinside.com 2019 - 2024. All rights reserved.