如何让JavaScript中的字符串比较功能正常工作?
问题分析与解决
你的代码里的if语句本身是能正常工作的,但它只在player和player2的值完全相等时才会输出"draw"。因为player2是随机从数组里取的值,大部分时候和固定的player = 'paper'不相等,这时候没有对应的输出逻辑,所以你会误以为if语句没起作用。
多运行几次代码,当player2随机到'paper'时,控制台就会打印"draw",这能证明if逻辑是有效的。
如果想要完整的石头剪刀布判断逻辑,补充所有分支即可,这样不管随机结果如何,控制台都会有明确输出:
let player = 'paper'; let player2 = ''; let myarr = ["rock", "paper", "scissors"]; var index = Math.floor(Math.random() * 3); player2 = myarr[index]; console.log(`玩家: ${player}, 对手: ${player2}`); function compare() { if (player === player2) { console.log("平局"); } else if ( (player === 'rock' && player2 === 'scissors') || (player === 'paper' && player2 === 'rock') || (player === 'scissors' && player2 === 'paper') ) { console.log("你赢了"); } else { console.log("你输了"); } } compare();
内容的提问来源于stack exchange,提问作者sghost
相关产品推荐
相关产品推荐

