【发布时间】:2015-02-24 12:01:13
【问题描述】:
var choice1 = prompt("Enter choice 1");
var choice2 = prompt("Enter choice 2");
if (choice1 === "x" && choice2 === ("a" || "b" || "c")) {
alert("Good job!");
}
假设用户输入x 代表choice1 和c 代表选项2。
上面是一个简单的例子来突出我的问题。我知道它不起作用,但我的问题是为什么? Javascript 不会将() 中的多个|| 语句与choice2 进行比较。为什么不?我心中的逻辑是choice2 与"a" 或"b" 或"c" 具有相同的类型和值(===)。
我的工作方式是这样的:
(choice1 === "x" && ((choice2 === "a") || (choice2 === "b") || (choice3 === "c"));
请帮助我理解为什么在使用多个|| 时,您需要明确写出每个|| 场景,而不是在我尝试顶部时将一堆放在() 中。谢谢。
【问题讨论】:
标签: javascript syntax logical-operators