編程題:計時器
阿新 • • 發佈:2018-08-17
毫秒 返回 定時 ++ timeout span 第一個 pre func
實現一個打點計時器,要求
1、從 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一個數字,每次數字增幅為 1
2、返回的對象中需要包含一個 cancel 方法,用於停止定時操作
3、第一個數需要立即輸出
錯誤示範:
function count(start, end) { var i = startvar clock = setTimeout(function(){ if(i<=end){
console.log(i++) count(i, end) } },100)return { cancel:function(){ clearTimeout(clock) } } }
錯誤分析:
1、第一個數字沒有立即輸出:應將 console.log(i++) 提出到 setTimeout 外。
2、無法停止定時操作:應將 clock 的定義放在 count 函數外部。因為閉包內部的參數,初始化後就不會隨著外部clock 的更改而更改。
編程題:計時器