这个JavaScript If语句出了什么问题?

时间:2013-06-01 23:41:00

标签: javascript if-statement conditional

我正在尝试建立一个基本的摇滚,纸张和剪刀游戏,任何人都可以给我一个暗示,为什么这个if语句被拒绝。

var rps = function(input1, input2){
    if (input1="paper" && input2="rock") {
        console.log("Player 1 wins!");
    };
};

4 个答案:

答案 0 :(得分:2)

等号应为==而不是=

var rps = function(input1, input2){
    if (input1=="paper" && input2=="rock") {
        console.log("Player 1 wins!");
    }
};

答案 1 :(得分:2)

首先,使用==而不是=

进行比较

其次,删除if结尾处的分号。

答案 2 :(得分:1)

  1. 如果要检查变量是否等于某个值,则必须使用“==”
  2. 命名你的功能!
  3. if-statement不需要分号!

    function rsp(input1,input2){     if(input1 ==“paper”&& input2 ==“rock”){         警报(“玩家1胜!”);     } };

答案 3 :(得分:0)

您指定的不是评估。这应该是一个有趣的纸,摇滚,剪刀游戏:

var prsStatements = {
  paperBeatsRock: 'Paper Beats Rock',
  rockBeatsScissors: 'Rock Beats Scissors',
  scissorsBeatsPaper: 'Scissors Beats Paper',
  seperator: ' - ',
  player1wins: 'Player One Wins!',
  player2wins: 'Player Two Wins!',
  tie: "It's a Tie!"
}
function prs(in1, in2){
  var p = /^paper$/i, r = /^rock$/i, s = /^scissors$/i, in2r = new RegExp(in2, 'i'), prss = prsStatements, sep = prss.seperator;
  if(in1.match(p) && in2.match(r)){
    return prss.paperBeatsRock+sep+prss.player1wins;
  }
  else if(in2.match(p) && in1.match(r)){
    return prss.paperBeatsRock+sep+prss.player2wins;
  }
  else if(in1.match(r) && in2.match(s)){
    return prss.rockBeatsScissors+sep+prss.player1wins;
  }
  else if(in2.match(r) && in1.match(s)){
    return prss.rockBeatsScissors+sep+prss.player2wins;
  }
  else if(in1.match(s) && in2.match(p)){
    return prss.scissorsBeatsPaper+sep+prss.player1wins;
  }
  else if(in2.match(s) && in1.match(p)){
    return prss.scissorsBeatsPaper+sep+prss.player2wins;
  }
  else if(in1.match(in2r)){
    return prss.tie;
  }
}

现在您不必担心区分大小写的问题,并且您的输出可以更改!