zoukankan      html  css  js  c++  java
  • 关于JS中的定时器!!!

    定时器:
    周期性定时器
    一次性定时器

    1. 周期性定时器: 让程序每隔一段时间间隔,反复执行一项任务
    何时使用: 只要连续,有规律的持续播放的动画
    如何使用: 3件事:
    1. ***任务函数: 定时器每次执行的任务
    function task(){...}
    任务函数通常要自己考虑:*何时停止*定时器的临界值

    2. 将任务函数放入定时器,定时执行:
    timer=setInterval(task,interval)
    其中: interval 是间隔的毫秒数
    timer往往是一个全局变量: 用来保存当前定时器的序号
    序号是内存中唯一标识一项任务的编号
    原理:首先将task函数对象和interval时间间隔记录在定时器对象中,再返回当前任务的序号
    然后,定时器会按照指定时间间隔,将task函数定时加入回调队列(callback queue)中。
    只有ECS中没有正在执行的函数时,才将callbackqueue中的函数加入ECS中执行
    3. 停止定时器:
    clearInterval(timer);

    2. 一次性定时器: 先等待一段时间,再自动执行一次任务
    何时使用: 1. 如果任务只执行一次时
    2. 如果动画的启动,停止,变化规律都很随意
    如何使用: 3件事:
    1. 任务函数:
    function task(){...}
    任务函数的结尾要考虑: *何时启动下一次*
    2. 启动一次性定时器
    timer=setTimeout(task,wait)
    其中: wait是等待的毫秒数
    3. 停止一次性定时器: 其实是停止等待,不再执行任务
    clearTimeout(timer);
    timer=null;

    其实: 一次性定时器连续启动,也可实现周期性的效果
    区别: 任务函数的结尾:
    周期性定时器任务: 判断何时停止定时器
    一次性定时器任务: 判断何时启动定时器

  • 相关阅读:
    原型污染
    C#之抛异常
    为什么['1', '7', '11'].map(parseInt) returns [1, NaN, 3]?
    Linux
    Linux
    Linux
    Linux
    Linux
    Linux
    其他
  • 原文地址:https://www.cnblogs.com/tracy-zhu/p/5768902.html
Copyright © 2011-2022 走看看