前言,最近在做一个音频播放项目的时候,碰到播放时间精度的问题,捣鼓了几天,最终巧妙的运用定时器去降低了错误发生频率

正题,下面是对定时器的使用总结,如有错误之处,请读者加以纠正.

延迟执行(1次)

  • setTimeout

    • 定义

      • setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
    • 用法(不带参数函数)

      • 第一种

        • setTimeout(function () {

          }, timeout);
        • demo
          // 测试延迟执行的函数
          function Fun1() {
          alert("不带参数函数");
          } setTimeout(function(){
          Fun1();
          }, 2000);
          //或者下面这种写法
          setTimeout(() => {
          Fun1();
          }, 2000);
      • 第二种
        • setTimeout(function,timeout);
        • demo
           // 测试延迟执行的函数
          function Fun1() {
          alert("不带参数函数");
          }
          //注意这里调用的函数不加括号
          setTimeout(Fun1, 2000);
      • 第三种
        • setTimeout('function()',timeout);
        • demo
           // 测试延迟执行的函数
          function Fun1() {
          alert("不带参数函数");
          }
          //注意这里调用的函数需要加括号
          setTimeout('Fun1()',2000);
    • 用法(带参数函数)

      • 第一种

        • setTimeout(function () {codes...

          }, timeout);
        • demo
          // 测试延迟执行的函数
          function Fun2(str1,str2) {
          alert("带参数函数"+str1+str2);
          } setTimeout(function(){
          Fun2('123','456');
          }, 2000);
          //或者下面这种写法
          setTimeout(() => {
          Fun2('123','456');
          }, 2000);
      • 第二种
        • setTimeout(function,timeout,param1,param2,...);
        • demo
           // 测试延迟执行的函数
          function Fun2(str1,str2) {
          alert("带参数函数"+str1+str2);
          }
          //注意这里调用的函数不加括号
          setTimeout(Fun2, 2000,'参数1内容','参数2内容');
      • 第三种
        • setTimeout('function(param1,param2,...)',timeout);
        • demo
           // 测试延迟执行的函数
          function Fun2(str1,str2) {
          alert("带参数函数"+str1+str2);
          }
          //注意这里调用的函数需要加括号
          setTimeout('Fun2("参数1内容","参数2内容")',2000);
    • 停止定时器

      • clearTimeout(timerHandle);
      • demo
        function Fun3(str1) {
        alert(str1);
        }
        //设置定时器
        var timer=setTimeout(Fun3,2000,"参数1");
        //清除指定定时器
        clearTimeout(timer)

延迟执行(多次)

  • setTimeout

    • 定义

      • setInterval() 方法用于在间隔指定的毫秒数后调用函数或计算表达式,重复执行。
    • 跟setTimeout()用法基本一致

    • 用法(不带参数函数)

      • 第一种

        • setInterval(function () {

          }, timeout);
        • demo
          // 测试延迟执行的函数
          function Fun1() {
          alert("不带参数函数");
          } setInterval(function(){
          Fun1();
          }, 2000);
          //或者下面这种写法
          setInterval(() => {
          Fun1();
          }, 2000);
      • 第二种
        • setTimeout(function,timeout);
        • demo
           // 测试延迟执行的函数
          function Fun1() {
          alert("不带参数函数");
          }
          //注意这里调用的函数不加括号
          setInterval(Fun1, 2000);
      • 第三种
        • setInterval('function()',timeout);
        • demo
           // 测试延迟执行的函数
          function Fun1() {
          alert("不带参数函数");
          }
          //注意这里调用的函数需要加括号
          setInterval('Fun1()',2000);
    • 用法(带参数函数)

      • 第一种

        • setInterval(function () {codes...

          }, timeout);
        • demo
          // 测试延迟执行的函数
          function Fun2(str1,str2) {
          alert("带参数函数"+str1+str2);
          } setInterval(function(){
          Fun2('123','456');
          }, 2000);
          //或者下面这种写法
          setInterval(() => {
          Fun2('123','456');
          }, 2000);
      • 第二种
        • setInterval(function,timeout,param1,param2,...);
        • demo
           // 测试延迟执行的函数
          function Fun2(str1,str2) {
          alert("带参数函数"+str1+str2);
          }
          //注意这里调用的函数不加括号
          setInterval(Fun2, 2000,'参数1内容','参数2内容');
      • 第三种
        • setInterval('function(param1,param2,...)',timeout);
        • demo
           // 测试延迟执行的函数
          function Fun2(str1,str2) {
          alert("带参数函数"+str1+str2);
          }
          //注意这里调用的函数需要加括号
          setInterval('Fun2("参数1内容","参数2内容")',2000);
    • 停止定时器

      • clearInterval(timerHandle);
      • demo
        function Fun3(str1) {
        alert(str1);
        }
        //设置定时器
        var timer=setInterval(Fun3,2000,"参数1");
        //清除指定定时器
        clearInterval(timer)

js中定时器使用方法经验总结的更多相关文章

  1. js中的tostring()方法

    http://blog.sina.com.cn/s/blog_85c1dc100101bxgg.html js中的tostring()方法 (2013-11-12 11:07:43) 转载▼ 标签: ...

  2. 秒味课堂Angular js笔记------Angular js中的工具方法

    Angular js中的工具方法 angular.isArray angular.isDate angular.isDefined angular.isUndefined angular.isFunc ...

  3. JS中通过call方法实现继承

    原文:JS中通过call方法实现继承 讲解都写在注释里面了,有不对的地方请拍砖,谢谢! <html xmlns="http://www.w3.org/1999/xhtml"& ...

  4. jQuery与JS中的map()方法使用

    1.jquery中的map()方法 首先看一个简单的实例: $("p").append( $("input").map(function(){ return $ ...

  5. JavaScript -- 时光流逝(二):js中数组的方法

    JavaScript -- 知识点回顾篇(二):js中数组的方法 1. 数组 (1)定义数组,数组赋值 <script type="text/javascript"> ...

  6. ASP.NET#使用母版时,如果要使用js中的getElementById()方法取得某个内容页的元素时要注意的问题

    当使用母版,要使用js中的getElementById()方法取得某个内容页的元素时,所选取的id并不是母版中内容页的id,而是在设计内容页时设定的id例子:母版页: ...... <head ...

  7. JS与OC交互,JS中调用OC方法(获取JSContext的方式)

    最近用到JS和OC原生方法调用的问题,查了许多资料都语焉不详,自己记录一下吧,如果有误欢迎联系我指出. JS中调用OC方法有三种方式: 1.通过获取JSContext的方式直接调用OC方法 2.通过继 ...

  8. JS中split使用方法和数组中元素的删除

    JS中split使用方法和数组中元素的删除 JS中split使用方法 <script language="javascript"> function spli(){ d ...

  9. JS中的splice方法

    JS中的splice方法 定义和用法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 注释:该方法会改变原始数组(集合). 语法 arrayObject.splice(ind ...

随机推荐

  1. 添加CentOS扩展源

    参考: http://blog.onovps.com/archives/centos-yum-epel.html https://fedoraproject.org/wiki/EPEL/zh-cn h ...

  2. Python学习系列----第三章 控制流

    在python中有三种控制流语句,分别是: if.for.while. 2.1 if 语句 if 语句用来检验一个条件,如果条件为真,我们运行一块语句(称为 if-块),否 则我们处理另外一块语句(称 ...

  3. SQL点点滴滴_查询类型和索引-转载

    当您考虑是否要对列创建索引时, 请估计在查询中使用列的方式, 下表介绍了索引对其有用的查询类型. 表中的示例基于 AdventureWorks2008R2 示例数据库, 在 SQL Server Ma ...

  4. Newtonsoft.Json code

    序列化 Product product = new Product(); product.ExpiryDate = new DateTime(2008, 12, 28); JsonSerializer ...

  5. Oracle数据库设计实例-实时生产效率系统数据库设计

    Oracle数据库设计实例-实时生产效率系统数据库设计 引言 1.1 设计前提 某部门经理要求IT部门设计一个流水线实时生产效率系统,用来统计实时的生产量和效率.流水线有数百条,实时间隔为1min. ...

  6. linux shell每天一阅 -- 安装nginx以及apache

    当然这个博客原代码是转载大神的... 自动安装Nginx脚本,采用case方式,选择方式,也可以根据实际需求改成自己想要的脚本mynginx.sh #!/bin/sh ###nginx install ...

  7. lnmp环境下nginx配置‘负载均衡’

    NGINX负载均衡分发请求的几种方式: 1.轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.2.weight 指定轮询几率,weight和访问比率成正比 ...

  8. 如何在 MSBuild Target(Exec)中报告编译错误和编译警告

    编译错误和编译警告 MSBuild 的 Exec 自带有错误和警告的标准格式,按照此格式输出,将被识别为编译错误和编译警告. 而格式只是简简单单的 error: 开头或者 warning: 开头.冒号 ...

  9. ZT 针对接口编程而不是针对实现编程

    java中继承用extends 实现接口用 implements 针对接口编程而不是针对实现编程 2009-01-08 10:23 zhangrun_gz | 分类:其他编程语言 老听说这句,不知道到 ...

  10. hdu 5971 Wrestling Match

    题目链接: hdu 5971 Wrestling Match 题意:N个选手,M场比赛,已知x个好人,y个坏人,问能否将选手划分成好人和坏人两个阵营,保证每场比赛必有一个好人和一个坏人参加. 题解:d ...