实现一个打点计时器,要求
1、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1
2、返回的对象中需要包含一个 cancel 方法,用于停止定时操作
3、第一个数需要立即输出
function count(start, end) {
//想到setInterval和setTimeout,接受两个参数,第一个是code,可以是要执行的字符串、函数、函数名;第二个参数是时间
//法一:使用setInterval方法,该方法是隔一段时间执行一次,色图Interval返回的ID值可用作clearInterval的参数
console.log(start++);
timer = setInterval(function(){
if(start <= end){
console.log(start++);
}else{
clearInterval(timer);
}
},100);
//返回一个对象
return {
cancel : function(){
clearInterval(timer);
}
};
//法二:使用setTimeout,该方法是在规定的时间之后执行,这里需要一直打印,所以每次start++。if判断,递归调用
if(start <= end) {
console.log(start)
start++
its = setTimeout(function(){count(start,end)},100)
}
return {
cancel: function() {
clearTimeout(its)
}
}
}