我正在创建一个代码来根据一天中的时间问候我,但由于某种原因,它无法将我的名字与其他文本区分开来



我正在编写一个简单的脚本,当我在提示中输入自己的名字时,它会根据一天中的时间打招呼,如果不是我,它会给出一条消息,说明否则。

var name= prompt("What is your name?");
var clock = new Date();
var time = clock.getHours();
if (name = "Mayo"){
if (time < 10) {
greeting = "Good morning" + " " + name + ".";
} else if (time < 20) {
greeting = "Good day" + " " + name + ".";
} else {
greeting = "Good evening" + " " + name + ".";
}
document.write(greeting)
}
else {
wrongName = "You are not" + " " + name + "."
document.write(wrongName)
}

到目前为止,它似乎在时间上工作,但无法将我的名字与其他文本的名字区分开来,我无法弄清楚问题是什么。

在第 5 行if (name = "Mayo"){,一个=是赋值运算符。为了进行比较,请尝试使用==来实现松散相等(以防提示作为字符串以外的类型出现,如['Mayo'])或===严格相等(如果需要它是字符串)。否则,当您尝试将"Mayo"分配给变量name时,引擎将解释name = "Mayo"

摘要:将第 5 行更改为if (name == "Mayo") {,您应该很高兴。

相关内容

最新更新