简体   繁体   English

您能帮我在我的JavaScript文件中找到未定义的错误吗?

[英]Can you please help me find the eror on my javascript file undefined

when I console.log it it gives undefined but i checked 10 times bud cant find the erorr! 当我console.log它给出未定义,但我检查了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); 

your if..else if chain does not check for all conditions, as there is always the possiblity of the currentHour to be less than 4 or (instead of and) more than 22. 您的if..else if链不会检查所有条件,因为currentHour总是可能小于4或(而不是and)大于22。

To simply account for that condition, simply just add an else statement, or add additional else if statements to handle the additional conditions 为了简单地说明该条件,只需添加一个else语句,或添加其他else if语句来处理其他条件

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

There's logical error like comment said. 有逻辑错误,如评论所说。

And I recommend you this approach. 我建议您使用这种方法。 This is more readable and easy to understand. 这更具可读性和易于理解。

    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";
    }

Compelete snippet: 完善摘要:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM