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

学习Javascript:高阶函数代码疑问,求解释for循环中action(i)的作用

代码运行逻辑及action(i)含义解答

整体运行逻辑

这段代码定义了一个JS高阶函数repeat,功能是将指定操作重复执行n次,逻辑如下:

  • 函数接收两个入参:n为重复执行的次数,action为每次要执行的操作函数
  • 内部for循环从1开始计数到n,每次循环都会触发一次传入的action操作

action(i)的核心含义与作用

这是这段代码最核心的高阶函数用法:

  • action是形参,你调用repeat时传入什么函数,它就指代什么函数,JS支持直接把函数作为参数传递
  • action(i)就是调用你传入的操作函数,同时把当前循环的序号i作为实参传给这个操作函数
  • 作用是把循环内部的当前序号暴露给外部的操作逻辑,让自定义操作可以用到每次循环的计数值

调用示例说明

示例1:repeat(10, console.log)

这里传入的操作是控制台打印函数console.log,循环内的action(i)等价于console.log(i),执行后会依次在控制台输出1到10,总共10条日志。

示例2:repeat(3, alert)

这里传入的操作是浏览器弹窗函数alert,循环内的action(i)等价于alert(i),执行后会依次弹出内容为1、2、3的三个弹窗。

拓展用法示例

你也可以传入自定义的函数实现个性化需求,比如输出1到5的平方:

function printSquare(num) {
  console.log(num * num)
}
repeat(5, printSquare)
// 执行后输出:1、4、9、16、25

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:09:02