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

为何这段JavaScript代码的输出结果为4?

为什么这段JavaScript代码输出4?

先看你的代码:

function func1() {
  return 2;
}

function func2() {
  return 4;
}

let a = (func1(), func2());

console.log(a)

核心原因是这里用到了JavaScript的逗号运算符,它的规则很直接:

  • 按顺序执行逗号分隔的每一个表达式
  • 整个逗号表达式的最终结果,是最后一个表达式的返回值

放到你的代码里具体分析:

  • 括号里的func1(), func2()会先执行func1(),虽然它返回了2,但这个值会被直接丢弃
  • 接着执行func2(),它返回的4会作为整个逗号表达式的结果,赋值给变量a
  • 最后console.log(a)自然就输出4了

你可以试试把代码改成let a = (func2(), func1());,输出就会变成2,这样能更直观验证这个逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 19:37:00