我试图理解为什么下面的代码不起作用,即使它的变体有效。我的理解最终都意味着同样的事情。(我很确定我错了,但不知道为什么)
这是有效的
while (!(luc === 'rock' || luc === 'paper' || luc === 'scissor')) {
这不起作用
while (luc !== 'rock' || luc !== 'paper' || luc !== 'scissor')) {
这是完整的背景
var uc = prompt('Choose between Rock, Paper and Scissor')
var luc = uc.toLowerCase();
while (!(luc === 'rock' || luc === 'paper' || luc === 'scissor')) {
var uc = prompt('You did not select between rock paper and scissor')
var luc = uc.toLowerCase();
}
console.log(uc)
答案 0 :(得分:0)
或运算符(||)查看这两个条件是否真实。因此,适合您的情况是查找用户输入是否为摇滚,纸张或剪刀,然后否定该值。
例如,如果输入不是摇滚,则第二种情况。让我们假设输入是剪刀(有效输入),但检查不是摇滚是真的,因此整个或链将由于至少存在一个真值而评估为真。