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

请教这段JavaScript箭头函数中第三行y(x)的作用

拆解代码中y(x)的作用

先把代码拆分层级来看,一步步理清楚:

  1. 最外层是立即执行的箭头函数,把全局的x=5、y=1传给函数内部的局部参数x和y(这里局部参数和全局变量同名,但彼此独立,局部的x=5、y=1)。
  2. 函数内部又是一个嵌套的立即执行函数:(y => y(x) + 1)(x => x * 3 + y)
    • 右侧的x => x * 3 + y是一个箭头函数,逻辑是接收一个参数,返回「参数×3 + 局部y的值(1)」。
    • 这个右侧函数会被当作参数,传给左侧的y => y(x) + 1箭头函数,所以左侧函数里的y,就是这个刚传进来的右侧函数。
    • 此时的y(x)就是调用这个传入的右侧函数,把外层局部的x=5作为参数传进去,计算得5×3 + 1 = 16。
    • 最后加1,得到结果17。

你的猜测是对的,y(x)确实调用了右侧的箭头函数——只是这里的y已经被赋值为那个右侧函数,不再是全局的y=1了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 09:47:10