window.settimeout 递归循环

window.settimeout   闭包回调

 function for1(ary, calback) {
        for (var i = 0; i < ary.length; i++) {
            var name = ary[i];
            calback(name)
        }
    }

    for1(["jak1", "jake2", "jak3", "jake4"], function (name1) {
        setTimeout(function () {
            console.log(name1);
        }, 1000);
    })

 window.settimeout  递归循环

function each1(ary) {
        var i=0;
        (function(){
            if (i > 3) {
                window.clearTimeout(Go)
                return false;
            }
            console.log(ary[i])
            i++
            var Go = window.setTimeout(arguments.callee, 1000)
        }())
    }

    window.setTimeout(function(){each1(["jak1", "jake2", "jak3", "jake4"])}, 2000)

 for循环不能控制时间间隔,想到了用settimeout递归,递归部分是匿名闭包函数,用arguments.callee代表函数体

原文地址:https://www.cnblogs.com/breakdown/p/2850730.html