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

JavaScript阶乘函数无输出排查:非函数形式正常,函数形式失效

问题分析:阶乘函数无输出的原因

嘿,我一眼就发现问题所在啦——你的阶乘函数确实完成了计算,但没有把结果返回出来!

咱们来拆解一下:

  • 非函数版本里,text是全局变量,计算完成后你可以直接查看这个变量的值,所以能得到120;
  • 但在函数版本里,text是函数内部的局部变量,函数执行结束后,这个变量就被“封装”起来了,外部根本拿不到它的值。而且你没有用return语句把计算结果传递出去,所以调用factorialize(5)的时候,函数默认返回undefined,自然看不到结果,也不会报错(因为语法完全没问题)。

只需要给函数加一行返回语句就搞定了:

function factorialize(num) { 
  var text = 1; 
  var i; 
  for (i = 1; i < num + 1; i++) { 
    text *= i; 
  }
  // 新增返回语句,把计算结果传递出去
  return text; 
}

// 调用时可以用console.log打印结果
console.log(factorialize(5)); // 输出120

另外小建议:变量名可以更语义化一点,比如把text改成result或者factorial,这样代码可读性会更好哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:18:06