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

如何在控制台输出变量totalCost?运行代码时出现错误

解决你的控制台输出问题:修正代码中的执行顺序与作用域错误

嘿,我一眼就看到你代码里的几个小问题啦,这才导致totalCost没法正常输出,咱们一步步来改:

问题分析

  • return语句提前终止函数:在costOfMonitors函数里,你先写了return,这行代码会直接结束函数执行,后面定义totalCost的代码根本跑不到。
  • 变量作用域不匹配:就算totalCost能被定义,它也是函数内部的局部变量,外面的console.log根本访问不到它。
  • 错误的自调用:你在costOfMonitors内部调用了它自己,这会触发无限递归,逻辑上也完全没必要。

修正后的代码

function monitorCount(rows, columns) { 
  return rows * columns; 
}

function costOfMonitors(rows, columns){
  // 先计算显示器总数
  const numberOfMonitors = monitorCount(rows, columns);
  // 再返回总成本
  return numberOfMonitors * 200;
}

// 在函数外部调用计算逻辑,把结果赋值给可被访问的变量
const totalCost = costOfMonitors(5, 4);
// 输出到控制台
console.log(totalCost); // 会输出4000

修正说明

  1. 调整了costOfMonitors函数的执行顺序:先计算显示器数量,再返回总成本,确保所有逻辑都能执行。
  2. 将totalCost的定义移到函数外部:这样变量处于当前可访问的作用域中,console.log可以正常读取它的值。
  3. 移除了函数内部的自调用:避免不必要的递归错误,改为在外部合理调用函数来获取结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:55:26