定时器与延时器
定时器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(): 指定的时间过后执行一次代码.
setTimeout和setInterval的用法类似
创建延时器
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