javascript - JS 对象和函数更正

标签 javascript html

我有一项家庭作业要更正一些阻止函数执行的 Javascript 代码。我已经纠正了我能找到的所有内容,甚至使用 JSFiddle 和 JSHint 来确保。所以没有留下语法错误,但一定有逻辑错误,因为没有任何工作。如果能快速查看我的代码,我将不胜感激,我确信这是我忽略的一个小问题。谢谢!

(这里肯定会有一些困惑的代码,我尝试更改了多少东西,对此深表歉意)。

首先是最基本的 HTML:

<body>
<p id="message"></p>
<p id="movies"></p>
<p id="object"></p>
</body>

然后是 JS:

// Define variables
var output = document.getElementById("message");
var BR = "<br>";
var makeBreakfast;
var mood;
var energyLevel;
var doWork;
var powerOn;
var command;
var duration;
var quitWork;

// Define robot object
var robot = {
material: "titanium",
mood: "happy",
energyLevel: 100,
powerOn: false,
command: "Sweeping the floor",
duration: 10,
favoriteMovies: ["2001: A Space Odyssey", "The Terminator", "I, Robot",        "WALL-E", "Short Circuit", "Forbidden Planet"]
};


makeBreakfast = function (newMood) {
mood = newMood;
if (mood === "Happy") {
    output.innerHTML += "Here are your waffles and milk, master." + BR;
} else {
    output.innerHTML += "Here is your burnt toast and lukewarm water,    master." + BR;
    energyLevel = 50;
}
};
doWork = function () {
if (!powerOn) {
    powerOn = true;
    output.innerHtml += "My current task is: " + command + ". Duration: " +     duration + " minutes." + BR;
}
};
quitWork = function () {
if (powerOn) {
    energyLevel = 90;
    powerOn = false;
    command = "Taking a nap";
}
};

// Make robot do housework
doWork();
quitWork();

完整的作业如下: 1)修改代码,使doWork和quitWork正常执行。 2) 调用 makeBreakfast 参数并使用字符串“mad”作为参数。 3)添加一个新的方法并调用它来显示一个字符串(这部分省略了,现在没有帮助) 4) 列出所有机器人最喜欢的电影,每部电影占一行。 5) 使用命名索引语法为机器人对象添加一个名为语言的新属性。使用您选择的语言对其进行初始化。 6) 使用命名索引语法,遍历对象并在新行中列出每个属性和值对。在新段落中显示结果。

我真的只想要关于#1 的帮助,但如果看到完整的作业有帮助,那就是它。谢谢大家!

最佳答案

需要把它变成一个对象,然后告诉那个可怜的笨蛋给你做早餐!

( Full Difference )

// Define variables
var output = document.getElementById("message");
var movies = document.getElementById("movies");
// Define variables
var output = document.getElementById("message");
var movies = document.getElementById("movies");
var object = document.getElementById("object");
var BR = "<br>";

// Define robot object
var robot = {
    material: "titanium",
    mood: "Happy",
    energyLevel: 100,
    powerOn: false,
    command: "Sweeping the floor",
    duration: 10,
    favoriteMovies: ["2001: A Space Odyssey", "The Terminator", "I, Robot", "WALL-E", "Short Circuit", "Forbidden Planet"],
    
    makeBreakfast: function (newMood) {
        if(newMood) this.mood = newMood;
        this.command = "Making breakfast";
        this.doWork();
        if (this.mood === "Happy") {
            output.innerHTML += "Here are your waffles and milk, master." + BR;
        } else {
            output.innerHTML += "Here is your burnt toast and lukewarm water,    master." + BR;
            this.energyLevel = 50;
        }
    },
    doWork: function () {
        if(!this.powerOn) {
            this.powerOn = true;
            output.innerHTML += "My current task is: " + this.command + ". Duration: " + this.duration + " minutes." + BR;
        }
    },
    quitWork: function () {
        if (this.powerOn) {
            this.energyLevel = 90;
            this.powerOn = false;
            this.command = "Taking a nap";
            output.innerHTML += "My current task is: " + this.command + ". Duration: " + this.duration + " minutes." + BR;
        }
    }
};

// Make robot do housework
robot.doWork();
robot.quitWork();
robot.makeBreakfast();
robot.quitWork();
robot.makeBreakfast("Mad");
robot.quitWork();
<body>
    <p id="message"></p>
    <p id="movies"></p>
    <p id="object"></p>
</body>

关于javascript - JS 对象和函数更正,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30633019/

相关文章:

javascript - $().html() 仅在第一次时有效

javascript - v2.canGoForward 不是函数

javascript - JQuery div 标签在 FireFox 中有子标签,但在 Chrome 中没有

html - CSS HTML 根据字体大小制作图片

html - 在页面中心对齐 Angular Material 卡

javascript - 使用 jQuery 通过动态 HTML 输入字段将商品总数量计算为商品价格

javascript - (Rails,Javascript) RJS "Can' t 查找变量“错误未提供详细信息

javascript - Ext JS 中TreeStore 不能实现filterBy 方法吗?

javascript - CSS z-index 无法按预期使用 Angular 动画

php - 使用保存在数据库中的 PHP 代码