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

我的首个项目:石头剪刀布JavaScript代码无法运行,请求排查

问题分析与修复方案

错误1:错误使用parseInt处理用户输入

你用parseInt(prompt("input rock paper or scissors"))处理用户输入,但用户输入的是字符串(比如"rock"),parseInt会把非数字字符串转换成NaN,导致playerSelection的值是NaN,和computerSelection的字符串永远无法匹配,所有条件都不触发。

修复: 去掉parseInt,直接获取用户输入,同时统一转成小写,避免大小写不匹配的问题:

let playerSelection = prompt("input rock paper or scissors").toLowerCase();

错误2:平局分支无返回值

在playRound函数的平局条件里,你只执行了console.log("its a tie"),但没有返回值,导致平局时console.log(playRound(...))会输出undefined。

修复: 将平局的console.log改为return:

if (playerSelection == computerSelection) {
    return "its a tie";
}

完整修复后的代码

function playRound(playerSelection, computerSelection) {
    if (playerSelection == computerSelection) {
        return "its a tie";
    } else if (playerSelection == "rock" && computerSelection == "paper") {
        return "you lose";
    } else if (playerSelection == "rock" && computerSelection == "scissors") {
        return "you win";
    } else if (playerSelection == "paper" && computerSelection == "scissors") {
        return "you lose";
    } else if (playerSelection == "paper" && computerSelection == "rock") {
        return "you win";
    } else if (playerSelection == "scissors" && computerSelection == "rock") {
        return "you lose";
    } else if (playerSelection == "scissors" && computerSelection == "paper") {
        return "you win";
    }
}

let playerSelection = prompt("input rock paper or scissors").toLowerCase();
let computerSelection = Math.random();

if (computerSelection < 0.34) {
    computerSelection = "rock";
} else if (computerSelection <= 0.67) {
    computerSelection = "paper";
} else {
    computerSelection = "scissors";
}

console.log(playRound(playerSelection, computerSelection));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:04:54