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

JavaScript中setInterval调用函数时为什么不需要加小括号?

问题解答:setInterval参数传入func而非func()的原因
  • func 是函数引用:本质是传递func函数本身的内存地址给setInterval,相当于告知定时器「每间隔2000毫秒,就执行一次这个函数」,符合定时执行逻辑的需求。
  • func() 是函数调用:代码运行到这一行时就会立刻执行func函数,最终传递给setInterval的是func的返回值,你提供的代码中func没有定义返回值,所以实际传入的是undefined,定时器找不到要执行的目标逻辑,只会在初始化时执行一次时间更新,之后不会再有定时刷新的效果,完全达不到定时任务的预期。

补充说明:你代码里HTML行内事件写的onclick="func()"是正常可用的,这是因为行内事件的属性值本质是字符串,浏览器触发点击事件时会把这段字符串当作JS代码执行,相当于主动调用了一次func,和直接给setInterval传参数的场景逻辑完全不同。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 06:45:05