运行if语句,检查字符串值是否与定义的字符串不同

问题描述

这是我关于堆栈溢出的第一篇文章,我将尝试使其简洁。

我正在尝试用javascript编写“石头,剪刀,剪刀”游戏。我想运行某些代码以在输入不正确时通知用户,因此我尝试编写一条if语句,该语句将在用户输入与“ ROCK”,“ PAPER”或“ SCISSORS”不同时运行,但不会运行不管输入什么。

这是我的摘录:

function userPlay() {
  let userChoice = prompt("Make your move")
  userChoice = userChoice.toupperCase()

  console.log(userChoice) // Check the variable's value

  if(userChoice !== "PAPER" || userChoice !== "ROCK" || userChoice !== "SCISSORS"){
   alert("Not an option")
   userPlay()
 }
  return userChoice

}

我已经尝试过搜索google,但是我不确定如何制定搜索条件,并且主要可以发现检查值是否等于(===)而不是value的语句是否不同于(!=== )。

我希望我能弄得足够清楚,我希望我不只是做一个愚蠢的错字;)

问候 摩根

解决方法

如前所述,您应该使用&&而不是||

我想您会创建一个else语句,您的return userChoice将到达该语句,否则它将返回一个变量。