javascript - 当 'true' 时,“And”似乎返回 'true and false'(当答案 == b 时,答案 != a && b 返回 true)

标签 javascript

我不明白为什么这不起作用。如果我在提示中输入“No”,则会再次给出相同的提示,这意味着 do 循环再次执行,因为 while 语句返回 true。然而,根据我的逻辑,当给出答案“否”时, while 语句应该返回 false 并结束 do 循环。当 (answer != "Yes") 为 true 并且 (answer != "No") 为 false 时,具有一个 true 操作数和一个 false 操作数的“and”运算符不应该返回 false (true && false == false) 吗?我在这里犯了什么错?其他一切都有效。

do {
  var answer = prompt("Do you want dinner? Yes or No."); 
} while (answer != "Yes" && "No");
if (answer == "Yes") {
  alert("Great, there is food in the fridge!"); }
else {
  alert("Ok. I will ask again later."); }

最佳答案

while 条件错误。第二部分永远是正确的。

试试这个:

while (answer != "Yes" && answer != "No");

关于javascript - 当 'true' 时,“And”似乎返回 'true and false'(当答案 == b 时,答案 != a && b 返回 true),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47128931/

相关文章:

javascript - 延迟一些 jQuery 函数,直到所有图像都完全加载

javascript - 如何使用 JQuery 验证正则表达式不需要的字段

javascript - 将JSON对象转换为javascript中的数组数组

Javascript 和 Java 日期 JSON 序列化

javascript - 是否可以一步创建一个数组并推送内容

javascript - HTML SELECT - 使用 JavaScript 按 VALUE 更改所选选项

Javascript 写入 AWS DynamoDB

javascript - 如何确保在导航到另一个页面之前完成 reducer 响应操作?

javascript - 按 id 计算元素数量

javascript - 在 javascript 中,项目在数组中的长度是否有限制?