function Aaron(List, callback) { setTimeout(function() { var task; if (task = List.shift()) { task(); //执行函数 } if (List.length > 0) { //递归分解 arguments.callee(List);
alert(arguments.callee); } else { callback() } }, 25) } //调用 Aaron([ function() { alert('a') }, function() { alert('b') }, function() { alert('c') } ], function() { alert('callback') }) // 分别弹出 ‘a’ , ‘b’ ,'c',’callback
关于callee也就是返回当前函数的引用,这里我们可以看到我们接受弹出框所显示的内容,这里返回的是我们当们setTimeout内部执行的函数!
function (){
var task; if (task = List.shift()) { task(); //执行函数 } if (List.length > 0) { //递归分解 arguments.callee(List);alert(arguments.callee); } else { callback() }}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218432.html原文链接:https://javaforall.net
