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代表函数体