Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript while循环条件_Javascript - Fatal编程技术网

Javascript while循环条件

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");

下面的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"); 
 } 

您需要使用
&&
。如果选择是有效选择之一,则需要退出循环

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。