定时器 setInterval 有一个有名函数 fn1,setInterval(fn1, 500)与 setInterval(fn1(), 500)有什么区别?

简介: 定时器 setInterval 有一个有名函数 fn1,setInterval(fn1, 500)与 setInterval(fn1(), 500)有什么区别?

setInterval 是 JavaScript 中用于定时执行函数的方法。它的基本语法是 setInterval(function, delay),其中 function 是你想要定期执行的函数,delay 是每次执行之间的延迟时间(以毫秒为单位)。



对于 setInterval(fn1, 500) 和 setInterval(fn1(), 500),两者之间的主要区别在于函数调用的方式。

  1. setInterval(fn1, 500)
  • 在这种情况下,fn1 是一个函数引用,它告诉 setInterval 每隔 500 毫秒调用一次 fn1。每次调用时,它都会执行 fn1 函数的新实例。
  • 这是正确的方式,因为它允许 setInterval 周期性地调用 fn1 函数,而不需要立即执行它。
  1. setInterval(fn1(), 500)
  • 在这种情况下,fn1() 会立即执行,并将 fn1 函数的返回值(如果有的话)设置为 setInterval 的回调。
  • 这通常不是你想要的,因为这意味着 fn1 函数会在设置定时器时立即执行一次,而不是每隔 500 毫秒执行一次。
  • 如果 fn1 没有返回值(即它是 void),则 setInterval 将无法执行任何内容,因此定时器将不会工作。



因此,当你想要使用 setInterval 时,应该使用 setInterval(fn1, 500) 的形式,以确保 fn1 函数被周期性地调用,而不是立即执行。

相关文章
|
小程序
UniApp video 使用(自定义进度条,及微信无法暂停播放设置进度问题)
UniApp video 使用(自定义进度条,及微信无法暂停播放设置进度问题)
2339 0
|
数据格式
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
本文介绍了在ElementUI和ElementPlus中使用`el-table`组件实现合并行功能的技巧,包括多列合并和单列合并的方法,并提供了相应的示例代码和运行效果。
9884 1
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
|
JSON 小程序 JavaScript
|
小程序
【亲测有效】支持横竖屏 微信小程序video禁止进度条拖动,微信小程序遮罩进度条,
【亲测有效】支持横竖屏 微信小程序video禁止进度条拖动,微信小程序遮罩进度条,
496 1
【亲测有效】支持横竖屏 微信小程序video禁止进度条拖动,微信小程序遮罩进度条,
|
容器
Flex 布局和 Grid 布局的区别
Flex 布局和 Grid 布局的区别
346 0
|
前端开发 C++
css实用技巧——锁定页面,禁止滚动 vs 解锁页面,恢复滚动
css实用技巧——锁定页面,禁止滚动 vs 解锁页面,恢复滚动
476 0
|
NoSQL 算法 Linux
【内附完整redis配置文件】linux服务器命令设置redis最大限制内存大小,设置redis内存回收机制,redis有哪些回收机制
【内附完整redis配置文件】linux服务器命令设置redis最大限制内存大小,设置redis内存回收机制,redis有哪些回收机制
783 0
|
移动开发 前端开发
vue3 Element-Plus封装的el-tree-select的使用
vue3 Element-Plus封装的el-tree-select的使用
2149 0
vue3 Element-Plus封装的el-tree-select的使用
|
JavaScript 数据库
vue使用element ui实现下拉列表分页的功能!!!
vue使用element ui实现下拉列表分页的功能!!!
|
消息中间件 Java 数据库
Spring事务监听机制---使用@TransactionalEventListener处理数据库事务提交成功后再执行操作(附:Spring4.2新特性讲解)【享学Spring】(上)
Spring事务监听机制---使用@TransactionalEventListener处理数据库事务提交成功后再执行操作(附:Spring4.2新特性讲解)【享学Spring】(上)