繁体   English   中英

此JavaScript If语句有什么问题?

[英]What's wrong with this JavaScript If statement?

我正在尝试构建一个基本的Rock,Paper和Scissors游戏,任何人都可以向我提示为什么if语句被拒绝。

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

等号应为==而不是=

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

首先,使用== not =完成比较

第二,在if末尾删除分号。

  1. 如果要检查变量是否等于值,则必须使用“ ==“
  2. 命名您的功能!
  3. if语句不需要分号!

    函数rsp(input1,input2){如果(input1 ==“ paper” && input2 ==“ rock”){alert(“播放器1获胜!”); };

您正在分配不评估。 这应该使纸,石头,剪刀游戏变得有趣:

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;
  }
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM