[英]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末尾删除分号。
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.