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

为何该JavaScript函数中需要使用return关键字?

关于JavaScript函数中return关键字的困惑

我正在通过Udemy教程和YouTube学习JavaScript,在模板字面量、三元运算符以及逻辑、算术等运算符的学习上进展顺利,但接触到函数时却倍感困惑。

我原本认为return关键字的作用是让程序后续可以复用函数内部的代码,但在下面这个具体示例中,即使没有return关键字函数也能运行,那我为什么还需要它呢?

代码示例:

function fruitProcessor(apples, oranges) {
    console.log(apples, oranges);
    const juice = `juice with ${apples} apples and ${oranges} oranges`;
    // return juice; working even without it.
}
fruitProcessor(5, 2)

有人能纠正我对return关键字的理解误区,并解答我的疑问吗?谢谢!


理解纠正与解答

首先,你的核心误区是对return的作用认知错了:return不是用来复用函数内部代码的,函数本身的设计就是为了复用代码——你可以反复调用fruitProcessor函数来重复执行它内部的逻辑,这和return无关。

return的真实作用是让函数向外部输出一个结果值,让函数外部的代码能拿到函数内部处理后的内容。

你的例子没return也能运行,是因为函数里只做了console.log这种“直接产生效果”的操作(往控制台打印内容),不需要把数据传给外部。但如果你的需求不止是打印,而是要把生成的果汁描述字符串拿到函数外面去用,return就必须存在了。

看这个实用的例子:

function fruitProcessor(apples, oranges) {
    const juice = `juice with ${apples} apples and ${oranges} oranges`;
    return juice;
}

// 把函数返回的结果存到变量里
const myJuice = fruitProcessor(5, 2);
// 用这个结果做其他操作
console.log(`我制作了:${myJuice}`); // 输出: 我制作了:juice with 5 apples and 2 oranges

// 甚至直接把函数结果作为参数传给其他函数
alert(fruitProcessor(3, 1));

另外补充两个细节:

  • 没有return的函数,默认会返回undefined——你可以试试运行console.log(fruitProcessor(5,2)),没return的话会输出undefined。
  • return会直接终止函数执行:如果在return后面写代码,那部分代码永远不会运行。比如:
function fruitProcessor(apples, oranges) {
    return `juice with ${apples} apples`;
    console.log('这句永远不会打印'); // 因为前面的return已经结束了函数
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 11:01:35