javascript 定时器 timer setTimeout setInterval (js for循环如何等待几秒再循环)

实现一个打点计时器,要求
1、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1
2、返回的对象中需要包含一个 cancel 方法,用于停止定时操作
3、第一个数需要立即输出

 

* 使用setTimeout方法

var timer;

function count(start, end) {
    if (start <= end) {
        console.log(start);
        start++;
        timer = setTimeout(function() {
            count(start, end);
        }, 100);
    }

    return {
        cancel: function() {
            clearTimeout(timer);
        }
    }
}

 

* 使用setInterval方法

function count(start, end) {
    console.log(start++);
    var timer = setInterval(function() {
        start <= end ? console.log(start++) : clearInterval(timer);
    }, 100);
    return {
        cancel: function() {
            clearInterval(timer);
        }
    }
}

  

posted @ 2018-06-30 18:35  zhanghui_ming  阅读(1123)  评论(0编辑  收藏  举报