一次性定时器 setTimeout

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次性定时器 setTimeout相关的知识,希望对你有一定的参考价值。

 for(var i=0;i<6;i++){
        setTimeout("console.log(i)",0);
            }   //6,6,6

知识点

   

          定义任务函数:function task(){.......}

          启动定时器:   timer=setTimeout(task,wait);//任务函数,等待时间

          停止定时器: 停止等待   clearTimeout(timer);

    原理:  1. 启动定时器时:  js引擎将定时器的任务函数和间隔时间,添加到定时器中等待被调用,同时为该任务生成唯一的序号。

      2. 定时器会遍历每个任务,按照时间间隔,自动调用到时间的函数。

      3. 定时器并没有直接调用函数,而是将函数调用加入一个回调队列(callback queue)。

      4. 回调对列中的函数,必须等到主程序(ECS)中执行完了才能执行。所以要等for循环结束,i=6后才开始执行

      setInterval/setTimeout的第一个参数,可以是一个字符串格式的js语句。

以上是关于一次性定时器 setTimeout的主要内容,如果未能解决你的问题,请参考以下文章

js计时器中setTimeout和setInterval的区别和使用

定时刷新之setTimeout(只一次)和setInterval(间隔相同时间)的使用

一次性定时器 setTimeout

关于setTimeout的妙用

定时器 setTimeout()超时调用和 setInterval()间歇调用

setTimeout 定时器 为什么不睡觉