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

JavaScript函数return语句多组括号导致返回结果不同的原因

为什么return语句添加额外括号后返回结果不同?

正确写法的逻辑

在正确代码中,return后是一个完整的数组字面量:

return [this.starterMenu[starterIndex], this.mainMenu[mainIndex]];

这里的逗号是数组元素的分隔符,函数会返回包含前菜和主菜的完整数组,因此输出结果为["Garlic Bread","Pizza"]。

错误写法的问题

错误代码里的return语句写成了:

return [this.starterMenu[starterIndex]], [this.mainMenu[mainIndex]];

这里的逗号不是数组分隔符,而是JavaScript的逗号运算符。逗号运算符的规则是:按顺序计算所有逗号分隔的表达式,但最终只返回最后一个表达式的结果。

也就是说,代码会先执行左边的[this.starterMenu[starterIndex]](得到["Garlic Bread"]),但这个结果会被直接丢弃,最终函数只返回右边的[this.mainMenu[mainIndex]](也就是["Pizza"]),这就是两种写法结果不同的核心原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 13:42:09