【问题标题】:Having a problem with a Javascript assignment and I have no idea what the solution is, i have tried everythingJavascript分配有问题,我不知道解决方案是什么,我已经尝试了一切
【发布时间】: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 而不是 letconst
  • 将 var 更改为 let 和 const 并且两次都将其踢回 Intern is not defined 错误。还将+更改为+=。感谢你目前的帮助
  • 重现该错误的唯一方法是注释掉 var intern = new Woker(...) 行 ...您可以尝试使用这些 cmets :/* Task 3 */ 以确保由于某些愚蠢的原因该行未被注释掉。

标签: javascript variable-assignment referenceerror


【解决方案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();

【讨论】:

    【解决方案2】:

    所以找到了一个解决方法,让自动分级机得到它想要的东西

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

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

    【讨论】:

      【解决方案3】:

      您只需要返回实习生和经理对象。 不需要 console.log 代码。

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      【解决方案4】:

      谢谢大佬,这太荒谬了。我不敢相信我正在为这门课程付费,而且它显然还没有准备好使用。似乎没有人测试过它,或者作为学生进入课程并实际上尝试按照他们的指示并通过这些东西。就像他们做了绝对的最低限度。这是连续第二个遇到所有这些问题的实验室。

      【讨论】:

        猜你喜欢
        • 2022-09-25
        • 1970-01-01
        • 2019-10-19
        • 2020-05-28
        • 2021-09-04
        • 1970-01-01
        • 2021-10-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多