关于前端:编程篇002js实现一个打点计时器

3次阅读

共计 825 个字符,预计需要花费 3 分钟才能阅读完成。

问题形容:

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() 办法的参数。

正文完
 0