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

求助:JavaScript代码运行输出[Function: getComputerChoice]而非预期结果

问题分析与修复方案

你的代码存在两个核心问题,同时还有一个调用时的注意事项:

1. 随机数结果未保存

Math.floor(Math.random() * 3);这条语句生成了0-2的随机整数,但没有把结果赋值给任何变量,导致后续逻辑根本无法用到这个随机数。

2. switch判断目标错误

你在switch里写的是switch (getComputerChoice),这里的getComputerChoice是函数本身,不是生成的随机数,所以永远不会匹配到0/1/2的case。

3. 调用函数的注意事项

如果你的控制台打印代码是console.log(getComputerChoice)而不是console.log(getComputerChoice()),也会输出[Function: getComputerChoice]——因为前者是打印函数对象,后者才是调用函数并打印返回值。

修复后的代码

function getComputerChoice() {
  // 把随机数赋值给变量
  const randomNum = Math.floor(Math.random() * 3);
  // switch判断这个随机数变量
  switch (randomNum) {
    case 0:
      return 'rock';
    case 1:
      return 'paper';
    case 2:
      return 'scissors';
  }
}

// 调用函数时要加括号
console.log(getComputerChoice());

额外说明

  • return语句会直接终止函数,所以case里的break是多余的,可以删掉
  • 给随机数变量命名能让代码可读性更强

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 00:05:10