利用 setTimeout 实现 setInveral, 并限制次数

840 阅读1分钟

昨天参加了,一家名叫Moka创业公司的前端面试,遇见了这么一道题也是第一道题,答错了,就被面试官请出来了。也没给我什么提示。。。 今天研究了一下,是使用闭包与递归来完成的。


function setInterval2 (fn, time) {
    var inner = function () {
        setTimeout(inner, time);
        try {
            fn();
        }
        catch (e) {
            console.log(e);
        }
    }
    setTimeout(inner, time);
}