JS 清除定时器timer的两种方法

简介: JS 清除定时器timer的两种方法
+关注继续查看

1.clearTimeout(timer);

只是将定时器关闭,这里的clearTimeout只是将定时器关闭,然后下面会重新开启定时器,但timer变量本身还存在,也就是当判断  if(timer) 时为真

代码示例,防抖函数的应用

           function debounce(func, delay) {
                let timer;
                return function (...args) {
                    clearTimeout(timer);
                    timer = setTimeout(() => {
                        func.apply(this, args);
                    });
                };
            }

2.timer = null

timer会被系统的垃圾回收机制回收, 无法再重新启动定时器,就是当判断 if(timer) 为假

所以当我们清除定时器时,可以先判断是否需要通过判断 if(timer) 来决定用哪个方法清除定时器

代码示例:节流函数的应用

            function throttled2(func, delay) {
                let timer;
                return function (...args) {
                    if (!timer) {
                        timer = setTimeout(() => {
                            func.apply(this, args);
                            timer = null;
                        }, delay);
                    }
                };
            }
目录
相关文章
|
5天前
|
JavaScript
js实现定时器
用原生js实现一个倒计时效果.最下面有全部源码,
13 2
|
21天前
|
JavaScript 前端开发
js中的两种定时器,有什么区别?怎么清除定时器?
js中的两种定时器,有什么区别?怎么清除定时器?
10 0
|
1月前
|
JavaScript
js设置定时器方法?清除定时器方法?区别是什么?
js设置定时器方法?清除定时器方法?区别是什么?
|
1月前
|
JavaScript 前端开发
js中的定时器
js中的定时器
16 0
|
2月前
|
JavaScript 前端开发
JavaScript常用的定时器
JavaScript常用的定时器
11 0
|
2月前
|
前端开发 JavaScript
前端基础 - JavaScript定时器
前端基础 - JavaScript定时器
14 0
|
3月前
|
JavaScript 前端开发
js 定时器
js 定时器
23 0
|
4月前
|
JavaScript
js中两种定时器,setTimeout和setInterval的区别
js中两种定时器,setTimeout和setInterval的区别
32 0
|
4月前
|
JavaScript 前端开发
js设置定时器的方法?作用?以及清除定时器的方法?
js设置定时器的方法?作用?以及清除定时器的方法?
|
5月前
|
前端开发 JavaScript 数据可视化
javascript逐行显示数据及php实时输出前端内容后台保持继续运行的解决方案(setTimeout定时器、flush和ob_flush函数、安装进度展示)
javascript逐行显示数据及php实时输出前端内容后台保持继续运行的解决方案(setTimeout定时器、flush和ob_flush函数、安装进度展示)
72 0
热门文章
最新文章
相关产品
云迁移中心
推荐文章
更多