在JavaScript中,当使用setTimeout或setInterval定义方法并赋值给变量后,即使调用clearTimeout、clearInterval清理时,该变量仍会保留值

原因:
变量存储的是计时器ID‌,setInterval返回的是一个数字类型的ID(表示第几个定时器),这个ID会被存储在变量中。
clearInterval仅清除计时器本身,不会自动清除变量存储的ID值。

‌清除计时器与变量赋值的区别‌:
clearInterval(timer):仅停止计时器的执行,释放计时器占用的系统资源。
timer = null:仅将变量指向null,清除了变量对计时器ID的引用,但若未先调用clearInterval,计时器仍会继续运行。
‌内存管理机制‌
JavaScript的垃圾回收机制不会因clearInterval而自动清除变量。若需彻底释放,需手动将变量赋值为null或undefined(但需先调用clearInterval)。

示例代码说明:

let timer = setInterval(() => console.log("计时器"), 1000);
clearInterval(timer); 
console.log(timer); // 输出原ID值(如1、2等),但计时器已停止
timer = null; // 显式清除变量引用

总结:变量的值是独立于计时器生命周期的,需分别处理清理逻辑。

JS 延时器setTimeout, 计时器setInterval的更多相关文章

  1. js里的setTimeout和setInterval之后的页面是空白,阻塞浏览器的document对象,但是不阻塞script方法

    js里的setTimeout和setInterval是否进程阻塞? 阻塞浏览器的document对象,但是不阻塞script方法 当你在setTimeout中使用document.write时是不行的 ...

  2. 关于js中的setTimeout和setInterval

    http://ejohn.org/blog/how-javascript-timers-work 这是John的一篇博文说到setTimeout和setInterval的区别,在看js高效图形编程的时 ...

  3. AngularJs 延时器、计时器

    1.$timeout延时器 apptest.controller("main",function($scope,$timeout){ $scope.pink="pink& ...

  4. js中的setTimeout和setInterval

    在html页面中要使用自动刷新功能时,可以是使用js中setTimeout和setInterval: 一.使用方法 setTimeout的使用setTimeout('要调用的Js方法', 调用的延迟时 ...

  5. js定时器window.setTimeout和setInterval

    window.setTimeout(function(){                            document.getElementById("editorindex&q ...

  6. JS动画三剑客——setTimeout、setInterval、requestAnimationFrame

    一.前言 前端实现动画效果主要有以下几种方法:CSS3中的transition 和 animation ,Javascript 中可以通过定时器 setTimeout.setinterval,HTML ...

  7. js学习--浏览器对象计时器setInterval()与setTimeout()的使用与区别

    一.setInterval()与setTimeout()的定义: 二.setInterval()与setTimeout()的使用:    1.setInterval()与clearInterval() ...

  8. js延时函数setTimeout

    实现一个延时执行的效果,现记录如下: <html> <head> <script type="text/javascript" src="/ ...

  9. js中的setTimeout和setinterval 用法说明

    setTimeout("countSecond()", 1000)://countSecond()是函数(方法) setTimeout 只执行一次函数,需要传递两个参数1是函数名, ...

  10. JS延时器 定时器 暂停器 中断器

    // numberMillis 毫秒 function sleep(numberMillis) { var now = new Date(); var exitTime = now.getTime() ...

随机推荐

  1. Codeforces Round #708 (Div. 2) ABC1C2题解

    A. Meximization 第i位优先放等于i-1的,没有的话就后面随便填了. view code #include<iostream> #include<string> ...

  2. AtCoder Beginner Contest 187 ABCDE 题解

    A - Large Digits 思路:签到题,读入字符串即可. view code #include<iostream> #include<string> #include& ...

  3. Codeforces Round #603 (Div. 2) ABC 题解

    A. Sweet Problem 题意:有三个数,每次可以选两个-1,问最多能挑多少次. 思路:贪心一下.策略如下: 1.先将三个数排个序. 2.然后如果最大的和次大的不一样多的话,就让最大的和最小的 ...

  4. 日事清助力制造业IPD全生命周期管理:从开发流程到持续优化的跨部门协作实践

    一.先聊聊IPD,它到底是什么 在竞争激烈的市场中,产品的快速.精准开发是企业致胜的关键.而为了确保新产品能够顺利从概念到落地,越来越多的企业采用集成产品开发(IPD, Integrated Prod ...

  5. SciTech-EECS-Circuits-Power Electrics(功率器件): 电弧/电焊/电解/电铍:大功率 的 电流 时问+波形 的 数控脉冲放电 实现

    SciTech-EECS-Circuits-Power Electrics(功率器件): 电弧/电焊/电解/电铍:大功率 的 电流 时问+波形 的 数控脉冲放电 实现 电焊 原理上是调制 高压大功率 ...

  6. SciTech-EECS-PWM(Pulse Width Modulation脉宽调制): 工作原理+特点+应用场景+实例: 将Digital Signal(数字信号) 转换为高精密的调制控制信号

  7. SciTech-EECS-电路设计-电路设计与仿真系统 + SPICE NetList(网表文件) +仿真描述 + 元器件模型

    参考网文: 系统地介绍类SPICE集成电路仿真器的实现原理, 包括: MNA(改进节点分析).非线性器件建模.DC/AC分析.时域/(复)频域仿真以及涉及的数值方法. 基于本文原理,实现了SPICE- ...

  8. Win11系统电脑关机后自动开机的问题

    有不少电脑基地的小伙伴下载Win11操作系统来使用了,但有小伙伴遇到电脑关机之后突然又自动开机的问题,那么应该怎么办呢?下面技术员小编就来分享解决方法吧. Windows 11 关机后自动开机可能由硬 ...

  9. C++迭代器iterator详解

    https://blog.csdn.net/QIANGWEIYUAN/article/details/89184546?utm_medium=distribute.pc_relevant.none-t ...

  10. 亚马逊发布TEACh数据集训练家用机器人

    新数据集助力训练家用机器人执行人类指令 亚马逊科学团队公开发布的TEACh数据集包含来自模拟环境的3000多组对话及关联视觉数据,旨在推动能完成复杂家务任务的AI助手研发. 数据集概览 数据规模:43 ...