JavaScript计时器是Web前端开发中常用的一种功能,可以用来实现定时任务、轮询请求、动画效果等各种场景。其中,setTimeout和clearTimeout是最基本的两种计时器。
setTimeout的用法
setTimeout函数用于在指定的时间后执行一段代码,并返回一个计时器ID值。语法如下:
setTimeout(function, milliseconds)
其中,function参数是要执行的代码,可以是一个函数或者字符串;milliseconds参数是延迟的毫秒数。
示例代码:
console.log("start"); setTimeout(() => { console.log("hello world"); }, 1000); console.log("end");
上述代码会先输出"start",然后等待1秒钟后输出"hello world",最后输出"end"。
clearTimeout的用法
clearTimeout函数用于取消由setTimeout函数创建的计时器,需要传入计时器ID作为参数。语法如下:
clearTimeout(timerId)
示例代码:
let timerId = setTimeout(() => { console.log("hello world"); }, 1000); clearTimeout(timerId);
上述代码创建了一个计时器,在1秒钟后输出"hello world"。然后立即调用clearTimeout函数取消了计时器,因此不会有任何输出。
setTimeout的应用案例
实现倒计时
倒计时是Web前端开发中常见的一个场景,可以使用setTimeout函数来实现。示例代码:
-- -------------------- ---- ------- --- --------- - --------- -- - --- -------- --- ---- - -- -- - ---------- --------------------- -- -------- -- -- - ----------------------- -------------------- - -- ------- ------- - ----------------- ------ -- --------------
上述代码会创建一个倒计时器,输出从10到0的倒计时数字,并在倒计时结束时输出"done"。
实现轮询请求
轮询是一种Web前端开发中常用的技术,可以用于实现实时更新的场景。使用setTimeout函数可以实现轮询请求。示例代码:
-- -------------------- ---- ------- --- ----------- - -- -- - ------------- -- - ------------------ ----------- -- ----------- ------------ -- - ------------------ -------------- --- -- ------ -- --------------
上述代码会每隔1秒钟向"/api/data"发起一次请求,获取数据并输出到控制台上,然后再次调用pollRequest函数执行下一次轮询请求。
总结
setTimeout和clearTimeout是Web前端开发中非常基础和重要的两个函数,应用广泛。本文通过详细分析了它们的用法和应用案例,希望能够帮助读者更好地理解和运用这两个函数。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/1026