问题形容:
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() 办法的参数。