Javascript while循环条件
下面的javascript片段进入无限循环。为什么呢Javascript while循环条件,javascript,Javascript,下面的javascript片段进入无限循环。为什么呢 var playerChoice=prompt("Choose paper or rock or scissors"); while (playerChoice !=="paper" || playerChoice !=="rock" || playerChoice !== "scissors"){ playerChoice=prompt("Choose paper or rock or scissors");
var playerChoice=prompt("Choose paper or rock or scissors");
while (playerChoice !=="paper" || playerChoice !=="rock" || playerChoice !== "scissors"){
playerChoice=prompt("Choose paper or rock or scissors");
}
您需要使用
&&
。如果选择是有效选择之一,则需要退出循环
while (playerChoice != "paper" && playerChoice != "rock" && playerChoice != "scissors") {
playerChoice = prompt("Choose paper or rock or scissors");
}
演示:
在您的情况下,假设,
playerChoice
是paper
但在评估您的状况时,playerChoice==“rock”
是真的,因为您已经使用了|
如果任何条件为真,循环将被执行您需要使用&
。如果选择是有效选择之一,则需要退出循环
while (playerChoice != "paper" && playerChoice != "rock" && playerChoice != "scissors") {
playerChoice = prompt("Choose paper or rock or scissors");
}
演示:
在您的情况下,假设,
playerChoice
是paper
但在评估您的状况时,playerChoice==“rock”
是真的,因为您使用了|
如果任何条件为真,循环将被执行,因为当做出新选择时,它将始终匹配至少两个条件,并且由于您使用了,将继续循环。您需要使用以下选项:
现在,当做出一个有效的选择时,三个内部条件中的两个仍然满足,但由于最后一个不满足,整个条件将计算为
false
,循环将不会执行。因为当做出新的选择时,它将始终至少匹配两个条件,并且由于您使用了,将继续循环。您需要使用以下选项:
现在,当做出有效的选择时,3个内部条件中的两个仍然满足,但由于最后一个条件不满足,整个条件将计算为
false
,循环将不会执行。您正在使用或应该使用的位置,以及,输入“布”或“剪刀”时,您的两个条件将评估为真,因此您将一次又一次地循环使用….您正在使用或应该使用的位置,并且,无论输入的是“石头”、“布”还是“剪刀”,您的两个条件将评估为真,因此您将一次又一次地循环使用,再说一遍……它应该是playerChoice!=“纸张”
为什么不在if条件下使用??试用!=还是不工作@Minhajraz=代码>vs==代码>在这里不应该有什么不同。根据各种答案,您是否尝试过使用&&
而不是|
?应该是playerChoice!=“纸张”
为什么不在if条件下使用??试用!=还是不工作@Minhajraz=代码>vs==代码>在这里不应该有什么不同。根据各种答案,您是否尝试过使用&&
而不是|
?问题在于=代码>,不是吗?我想&&只会在所有值都为真时返回'true'。如果两种情况都是,我希望它返回truetrue@PaulFitzgerald请参见严格不等式运算符与不等式运算符<代码>==代码>完全有效。@PaulFitzgerald:不,不是。有人有其他想法吗??我在这里!问题在于=代码>,不是吗?我想&&只会在所有值都为真时返回'true'。如果两种情况都是,我希望它返回truetrue@PaulFitzgerald请参见严格不等式运算符与不等式运算符<代码>==代码>完全有效。@PaulFitzgerald:不,不是。有人有其他想法吗??我在这里!谢谢你的解释@james Thorpe。谢谢你的解释@james Thorpe。