You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript猜拳游戏playRound函数返回结果异常求助

问题分析与解决

你的代码存在两个关键问题,导致playRound()始终返回平局结果:

  • 函数参数传递错误
    你定义的playRound()函数声明了playerSelection和computerSelection两个参数,但调用时未传入任何值(console.log(playRound());)。此时函数内部的这两个参数会被视为undefined,全局声明的同名变量并不会自动传入函数。由于undefined === undefined始终为真,所以永远触发平局的返回值。

    正确的调用方式需把全局变量传入函数:

    console.log(playRound(playerSelection, computerSelection));
    
  • 拼写错误导致的逻辑隐患
    在getComputerChoice()函数的数组里,你把"scissors"拼写成了"sissors"。虽然这不会直接导致当前的平局问题,但后续扩展胜负判断逻辑时,会因字符串不匹配出现错误,建议修正为正确拼写:

    const choice = ["paper", "rock", "scissors"];
    

修正后的完整代码示例:

const playerSelection = "rock"
const computerSelection = getComputerChoice();
// 传入参数调用函数
console.log(playRound(playerSelection, computerSelection));

function getComputerChoice() {
    // 修正拼写错误
    const choice = ["paper", "rock", "scissors"];
    return choice[Math.floor(Math.random() * 3)];
}

function playRound(playerSelection, computerSelection) {
    if (playerSelection === computerSelection) {
        return "It is a tie!";
    }   else {
        return "Please try again!";
    }
}

内容的提问来源于stack exchange,提问作者Mulcahy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 02:47:04