Kev*_*Liu 2 javascript loops while-loop
我正在尝试使用javascript运行一个超级简单的程序,但我无法理解这个问题.好的,我的代码:
var answer = prompt("Are we there yet?");
while(answer != "yes" || answer != "yeah") {
var answer = prompt("Are we there yet?");
}
alert("Yes! We made it!");
Run Code Online (Sandbox Code Playgroud)
问题是当我在我的浏览器上运行它并键入其中一个"yes"
或者"yeah"
提示方法一直出现,除非我将逻辑运算符从OR(||
)更改为AND(&&
).
它不应该与OR(||
)一起使用吗?我只是说这两个答案中的任何一个都没问题,警报可以运行吗?
我知道这是非常基本的东西,这可能是一个愚蠢的错误,但我只是一个初学者试图解决这个问题.
提前致谢.
你的陈述
answer != "yes" || answer != "yeah"
Run Code Online (Sandbox Code Playgroud)
如果第一个或第二个条件为真,则为true.在您的情况下,无论answer
其中一个条件中的文本将始终如一.例如:
answer="yes"
那么第二个条件是真的answer="yeah"
那么第一个条件是真的answer="whatever"
那么两个条件都是真的您需要使用的是&&
:
var answer = prompt("Are we there yet?");
while(answer != "yes" && answer != "yeah") {
var answer = prompt("Are we there yet?");
}
alert("Yes! We made it!");
Run Code Online (Sandbox Code Playgroud)
只有满足两个条件时才会出现这种情况.例如:
answer="yes"
那么第一个条件为假,第二个条件为真.总体结果是错误的,你离开循环.answer="yeah"
那么第一个条件为真,第二个条件为假.总体结果是错误的,你离开循环.answer="whatever"
两个条件都为真,则重复循环.