使用JavaScript函数计算三个数平均值时无法获取返回值的问题排查
问题排查与解决方案
你的函数逻辑完全正确,也成功返回了计算出的平均值,但直接调用make_avg(15, 20, 25)时看不到结果的原因是:函数的返回值没有被接收或主动输出。
在非交互式的脚本执行环境中(比如JS文件、HTML的<script>标签),函数返回值如果没有被赋值给变量,也没有被输出语句处理,就会被直接丢弃,不会自动显示。只有在浏览器控制台、Node.js的REPL这种交互式环境中,最后一行表达式的结果才会被自动打印。
解决方案
有两种常用处理方式:
- 用变量接收返回值,按需使用
function make_avg(num1, num2, num3) { var total = num1 + num2 + num3; var average = total / 3; return average; } // 接收返回值到变量 const avgResult = make_avg(15, 20, 25); // 输出结果 console.log(avgResult); // 后续也可以直接使用avgResult变量做其他操作
- 直接在调用时输出返回值
function make_avg(num1, num2, num3) { var total = num1 + num2 + num3; var average = total / 3; return average; } // 直接包裹console.log输出返回值 console.log(make_avg(15, 20, 25));
如果是在浏览器控制台这类交互式环境中测试,直接执行make_avg(15, 20, 25)也会显示结果,但在正式脚本中必须主动处理返回值才能看到或使用它。
内容的提问来源于stack exchange,提问作者Takibul Islam Fuad
相关产品推荐
相关产品推荐

