簡體   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