题目描述
实现一个打点计时器,要求
1、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1
2、返回的对象中需要包含一个 cancel 方法,用于停止定时操作
3、第一个数需要立即输出。
知识点扩展:
JavaScript中的定时器有两种,setInterval()
和setTimeout()
。
- setInterval(code, millisec, lang)
按指定周期反复调用函数或表达式。
code — 要调用的函数或要执行的代码串。
millisec — 时间间隔,以毫秒计。
lang — 可选, JScript | VBScript | JavaScript。
停止定时器的函数:clearInterval()
。 - setTimeout(code,millisec,lang)
code — 指定时间后要调用的函数或要执行的代码串。
millisec — 在执行代码前需等待的毫秒数。
lang — 可选,脚本语言可以是:JScript | VBScript | JavaScript。
停止定时器的函数:setTimeout()
。
题目代码实现
function count(start, end) {
console.log(start++); //立即输出第一个数
var timer = setInterval(()=>{
if(start <= end){ //小于end输出
console.log(start++);
}else{
clearInterval(timer);
}
}, 100); //每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1
return { //返回对象包含cancel方法,
cancel: function(){
return clearInterval(timer);//停止定时操作
}
}
}