2013-06-01 53 views
0

我試圖建立一個基本的岩石,紙和剪刀遊戲,任何人都可以給我一個提示,爲什麼這個if語句被拒絕。這段JavaScript If語句有什麼問題?

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

說到提示...... http://jshint.com/ :-) –

回答

2

等號應該是==代替=

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

首先,比較使用所有的===

第二完成,刪除分號,如果結束。

1
  1. 如果你想檢查IFA變量等於一個值,你必須使用「==」
  2. 名稱的功能!
  3. if-statement doesen't不需要分號!

    功能RSP(輸入1,輸入2){ 如果(輸入1 == 「紙」 & &輸入2 == 「石頭」){ 警報( 「玩家1勝!」); } };

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

現在,您不必擔心大小寫敏感的問題,你的輸出是可以改變的!