关于JS定时器的整理
在JS中定时器有非常大的作用,例如:
-
执行延迟操作:使用setTimeout可以在一定的延迟后执行特定的代码。这对于需要在一定时间后执行某些操作的情况非常有用,例如延迟显示提示信息、执行动画效果等。
-
定期刷新数据:使用
setInterval
可以定期执行某段代码,例如定时从服务器获取最新数据并更新页面内容,实现实时数据展示。 -
轮播图和幻灯片效果:定时器可以用于实现轮播图或幻灯片效果,通过定期更改显示的图片或内容,创建循环播放的效果。
-
定时提醒和通知:通过设置定时器,可以在指定的时间点触发提醒或通知,例如定时提醒用户完成某个任务、发送定时通知等。
-
实时搜索和自动完成:定时器可以在用户输入时延迟一段时间,然后执行搜索或自动完成的操作,以提高用户体验并减少不必要的请求次数。
-
定时执行定时任务:在一些特定的业务场景下,需要在固定的时间点执行某些任务,例如定时备份数据、定时清理缓存等
但是在定时器开启后,要注意清除定时器
setTimeout---------------------clearTimeout(定时器的变量名)
setInterval----------------------clearInterval(定时器的变量名)
用法
setTimeout(可以执行多次)
1:直接使用匿名函数作为参数
setTimeout(function(){
alert("你好")
},1000)
其中1000是时间,单位是ms,1000ms=1s
结果是1s后弹出“你好”
2:使用命名函数作为参数:
function hi(){ console.log("你好"); } setTimeout(hi,2000)
也可以在函数中插入参数。传递给函数的参数。
function hi(name){ console.log("你好"+name); } setTimeout(hi,2000,"明天")
3:使用字符串作为参数(不推荐):
setTimeout("console.log('你好');", 2000);
可以使用clearTimeout函数来清除一个定时器
function hi(){ console.log("你好"); } setTimeout(hi,2000) clearTimeout(hi)
用法
setInterval(只能执行一次),用法和setTimeout一样
1:直接使用匿名函数作为参数
setInterval(function(){
alert("你好")
},1000)
其中1000是时间,单位是ms,1000ms=1s
结果是1s后弹出“你好”
2:使用命名函数作为参数:
function hi(){
console.log("你好");
}
setInterval(hi,2000)
也可以在函数中插入参数。传递给函数的参数。
function hi(name){
console.log("你好"+name);
}
setInterval(hi,2000,"明天")
3:使用字符串作为参数(不推荐):
setInterval("console.log('你好');", 2000);
可以使用clearTimeout函数来清除一个定时器
function hi(){
console.log("你好");
}
setInterval(hi,2000)
clearTimeou(hi)
在不需要定时器时及时清除它们,以避免不必要的资源占用和潜在的问题。