你能帮我找到我的javascript文件中的错误未定义

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

当我在console.log它给它undefined但我检查10次芽不能找到erorr!

let getBody = document.body;
let newElement = document.createElement("h1");

let date = new Date();
let currentHour = date.getHours();

let createTxtMsg;

if (currentHour >= 4 && currentHour < 10) {
  createTxtMsg = "Good Morning!";
} else if (currentHour >= 10 && currentHour < 12) {
  createTxtMsg = "Good Day!";
} else if (currentHour >= 12 && currentHour < 18) {
  createTxtMsg = "Good Afternoon";
} else if (currentHour >= 18 && currentHour < 22) {
  createTxtMsg = "Good evening";
} else if (currentHour >= 22 && currentHour < 4) {
  createTxtMsg = "Good night";
}

console.log(createTxtMsg)
let createEleTxt = document.createTextNode(createTxtMsg);

newElement.appendChild(createEleTxt);
getBody.appendChild(newElement);
javascript
2个回答
0
投票

你的if..else if链没有检查所有条件,因为currentHour总是有可能小于4或(而不是和)大于22。

要简单地考虑该条件,只需添加else语句,或添加其他if语句来处理其他条件

.
.
else if (currentHour< 4) {
  createTxtMsg = 'helloo';
}
.
.

0
投票

像评论说的那样存在逻辑错误。

我推荐你这种方法。这更易读且易于理解。

    if (22 <= currentHour) {
      createTxtMsg = "Good night";
    } else if (18 <= currentHour) {
      createTxtMsg = "Good evening";
    } else if (12 <= currentHour) {
      createTxtMsg = "Good Afternoon";
    } else if (10 <= currentHour) {
      createTxtMsg = "Good Day!";
    } else if (4 <= currentHour) {
      createTxtMsg = "Good Morning!";
    } else {
      createTxtMsg = "Good night";
    }

完整代码段:

let getBody = document.body;
let newElement = document.createElement("h1");

let date = new Date();
let currentHour = date.getHours();

let createTxtMsg;

if (22 <= currentHour) {
  createTxtMsg = "Good night";
} else if (18 <= currentHour) {
  createTxtMsg = "Good evening";
} else if (12 <= currentHour) {
  createTxtMsg = "Good Afternoon";
} else if (10 <= currentHour) {
  createTxtMsg = "Good Day!";
} else if (4 <= currentHour) {
  createTxtMsg = "Good Morning!";
} else {
  createTxtMsg = "Good night";
}

console.log(createTxtMsg)
let createEleTxt = document.createTextNode(createTxtMsg);

newElement.appendChild(createEleTxt);
getBody.appendChild(newElement);
© www.soinside.com 2019 - 2024. All rights reserved.