Javascript计时器

来源:互联网 发布:vs release 不优化 编辑:程序博客网 时间:2024/05/21 16:58

通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。提供了两种计时器的方法如下:

  1. window.setInterval(); 这个方法就是在一个周期内反复执行一直到窗口关闭或者 clearInterval()
  2. window.setTimeout(); 延迟执行内容

setInterval()的使用方法: 

  1. setInterval(code,millisec); 

  1. code:可以是方法名,如果是方法不要加小括号。同时也可以是字符串用双引号将方法括起来。setInterval(“setCode()”,1000);或者setInterval(setCode,1000); 
  2. millisec:是毫秒数,就是隔了多久执行
代码如下:

 var p1 = document.getElementById("p");    var n = 0;    var data = ["4234","343440"];    var rows = 0;    var cols = 0;    function setCode(){        if(cols < data[rows].length){            p1.innerHTML += data[rows][cols];            cols++;        }else if(rows < data.length){            p1.innerHTML += "</br>";            rows++;            cols = 0;        }else {            clearInterval(timer);        }    }    var timer = setInterval(setCode,500);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

setTimeout和setInterval用法是一样的的。


那么在计时器中能否传递参数呢?答案是不能的那么怎么办呢,推荐使用匿名函数。

代码如下:

   var person = {name: "peng", age: 23};    function getPerson(person){        alert(person.name);    }    var timer = setInterval(function(){        getPerson(person);    },1000);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

就是在定义定时器是在重新写一个函数在函数里面去调用方法。 
当然也可以直接将函数和参数用”“括起来 ,但是这样不能周期性改变参数的值.