问题形容:

1、从 start 到 end(蕴含 start 和 end),每隔 100 毫秒 console. log 一个数字,每次数字增幅 1
2、返回的对象中须要蕴含一个 cancel 办法,用于进行定时操作
3、第一个数须要立刻输入

参考答案:

// 实现法一(setTimeout()办法):function count(start, end) {    if (start <= end) {        console.log(start++);        st = setTimeout(function() {            count(start, end);        }, 100);    }    return {        cancel: function() {            clearTimeout(st);        }    };}count(1, 10);// 实现法二(setInterval()办法):function count(start, end) {    console.log(start++);    var timer = setInterval(function() {        if (start <= end) {            console.log(start++);        }    }, 100);    return {        cancel: function() {            clearInterval(timer);        }    };}count(1, 10);

知识点:
setTimeout()办法用于在指定的毫秒数后调用函数或计算表达式。
语法:setTimeout(code, millisec)
留神:setTimeout() 只执行 code 一次。如果要屡次调用,请应用 setInterval() 或者让 code 本身再次调用 setTimeout()。

setInterval() 办法可依照指定的周期(以毫秒计)来调用函数或计算表达式。
语法:setInterval(code , millisec[, "lang"])
setInterval() 办法会不停地调用函数,直到 clearInterval() 被调用或窗口被敞开。由 setInterval() 返回的 ID 值可用作 clearInterval() 办法的参数。