gpt4 book ai didi

javascript - 为什么这段代码不起作用? Javascript if 语句,else if 语句

转载 作者:行者123 更新时间:2023-11-30 07:53:15 27 4
gpt4 key购买 nike

这是一个 javascript 代码,我想把它写成这样:如果此人回答是,则回复“那很酷”,如果此人回答否,则回复“我会让你开心”,如果此人回答的问题包含"is"或“否”,请说“仅键入”是或否,没有任何额外的文本。”此外,如果此人没有回答不包含"is"或“否”,请回答“你甚至没有回答问题”。但是,这段代码有点奇怪。如果我随便输入一些像“hi”这样的东西,它会说“只输入是或否,没有任何额外的文本。”,而不是“你甚至没有回答问题。”帮助!

var id;
id = prompt("Are you happy?");
if(id == "yes"){
alert("That's cool.");
}else if(id == "no"){
alert("I'll make you happy.");
}else if(id || "yes" || "no"){
alert("Type only yes or no, without any extra texts.");
}else{
alert("you didn't even answer the question.");
}

最佳答案

这一行:

else if(id || "yes" || "no")

不测试 id 中是否有值 "yes""no"。它测试 id 是否真实*,或者 "yes" 是否真实(它是),或者 "no" 是否真实(它是) .因此,无论 id 的值如何,总体条件始终为真。

由于您使用的是 else if,因此根本不需要检查 "yes""no"那一点——如果你到达那里,你就会知道 id 中没有它们。所以只是

else if (id)

...会告诉您 id 中有内容,但不是"yes""no" (因为你已经处理过它们了)。


* "truthy"- 当强制为 bool 值或用于逻辑运算时,强制为或被视为 true。它是“falsy”的另一面,在相同情况下强制或被视为 false。 JavaScript 中的假值是 0""nullundefinedNaN,当然还有 false。所有其他值都是真实的(包括 "",FWIW)。

关于javascript - 为什么这段代码不起作用? Javascript if 语句,else if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47636090/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com