JS之计时器

setTimeout()

setTimeout()一次性计时器,有两个参数,第一个是要调用的js代码,第二个是在执行前需要等待的时间。只会执行一次,不会循环执行
clearTimeout()清除计时器。

	setTimeout(function (){
     console.log(1);
     },1000)

输出:1
若将它变为循环计时器,可以函数自身调用,重复执行

	var count=0;
    var time=null;
    method();
    function method(){
        count++;
        console.log(count);
        if(count>5)
        {
            //清除计时器
            clearTimeout(time);
            return;
        }
        //自身调用,重复执行
        time=setTimeout(method,1000);	//method不带括号
        //time=setTimeout("method()",1000);
    }

输出:
1
2
3
4
5
6

setInterval()

setInterval() 方法会不停地调用函数(重复执行其内容),直到被清除
clearInterval() 清除计时器

	setInterval(function () {
        console.log(1);
    },1000)

16ms 自动执行的计时器

在当前页面失去焦点时,会自动暂停

	//兼容性
	var requestAnimation = window.requestAnimationFrame ||window.mozRequestAnimationFrame ||window.webkitRequestAnimationFrame || window.msRequestAnimationFrame ||
    function (callback) {
       setTimeout(callback, 1000 / 60);
    }
    var count=0;
    var time=null;
    loop();
    function loop() {
        count++;
        console.log(count);
        if(count>=100)
        {
            //清除计时器
            window.cancelAnimationFrame(time);
            return;
        }
        //window.requestAnimationFrame(loop);
        time=requestAnimation(loop);//16ms
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值