1、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1
2、返回的对象中需要包含一个 cancel 方法,用于停止定时操作
3、第一个数需要立即输出
第一种::运用setInterval定时器每间隔100毫秒打印一次,需要满足start小于等于end
function count(start, end) {
console.log(start++);
var m = setInterval(function(){
if(start <= end){
console.log(start++);
}else{
clearInterval(m);
}
},100);
return {
cancel:function(){
clearInterval(m);
}
}
}
第二种::在定时器中使用递归来打印满足start小于等于end
function count(start, end) {
if(start <= end){
console.log(start);
start++;
m = setTimeout(function(){
count(start, end); //递归调用函数本身
},100);
}
return {
cancel:function(){
clearTimeout(m);
}
}
}