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语句。

相关文章:

  • 2022-12-23
  • 2021-09-17
  • 2021-12-03
  • 2021-12-01
  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
  • 2021-06-20
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2021-09-21
  • 2022-12-23
  • 2022-12-23
  • 2021-12-31
相关资源
相似解决方案