我正在编写一个简单的脚本,当我在提示中输入自己的名字时,它会根据一天中的时间打招呼,如果不是我,它会给出一条消息,说明否则。
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") {
,您应该很高兴。