定时器与延时器

108 阅读1分钟

定时器与延时器

定时器setInterval

setInterval(): 定时器方法, 可按照指定的周期(以毫秒计)来调用函数或计算表达式

创建定时器
setInterval(code,millisec)
      code: 要调用的代码块或者函数
      millisec: 是周期性执行代码块或函数的间隔,以毫秒计
例如: 创建定时器timer, 每隔1秒调用一次函数function
var timer = setInterval( function(){},1000);

关闭定时器
      setInterval()方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。 
      由setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
例如: 关闭上面创建的定时器timer
clearInterval(timer); 

定时器的写法

setInterval()可以有三种不同的写法
写法一:  (直接使用字符串,不建议)
setInterval(“alert(‘hello’)”, 1000);   

写法二: (直接传入函数名即可)
function func(){
     alert(“hello”);
}
setInterval(func, 1000); 	

写法三: (推荐写法, 以后最常用)
setInterval(function(){   	 
      alert(“hello”);
}, 1000);

延时器

延时器setTimeout
  setTimeout():  指定的时间过后执行一次代码.

setTimeoutsetInterval的用法类似
创建延时器
var timer = setTimeout(function(){ }, 1000);

取消延时器
clearTimeout(timer);

clearInterval()和clearTimeout()都可以关闭

setInterval()与setTimeout

同步与异步

同步:按照顺序一步一步的执行
从上往下执行
console.log(1111);
console.log(2222);
console.log(3333);
打印的结果为
    1111
    2222
    3333

//异步:可以按照顺序,与同步相反
console.log(1111);
setTimeout(function () {
    console.log(2222);
}, 500);
console.log(3333);
打印的结果为
    1111
    3333
    2222