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

JavaScript高阶函数代码疑问:参数m为何取0到5的值?

问题解答

先把你的代码整理成更易读的格式:

function repeat(n, action) {  
  for (i = 0; i < n; i++) {  
    action(i);  
  }  
}  

function test(condition, result) {  
  if (condition) result();  
}  

repeat(6, m => test(m % 2 == 0, () => {  
    console.log(m);  
  })  
)

核心逻辑拆解:

  • repeat函数里的for循环是关键:它初始化i=0,只要i < n(这里n是6)就继续循环,每次循环后i自增1。所以循环过程中i的取值依次是0、1、2、3、4、5,刚好是0到n-1(6-1=5)。
  • 每次循环都会调用action(i),这里的action就是你传入的箭头函数m => test(...)——循环里的i会直接传给箭头函数的参数m,所以m就跟着i的变化,从0到5依次取值。
  • 之后箭头函数里的test(m%2==0, ...)会判断m是不是偶数,是的话就执行打印函数,所以最终控制台会输出0、2、4。

内容的提问来源于stack exchange,提问作者Hưng Trần

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 02:06:30