问答详情
源自:3-2 回调的灵活运用

arguments.callee(List)参数问题

"arguments.callee(List)"这里为什么要传入"List"呢?这个回调函数本身没有形参,传入的话内部调用的"List"不还是外部的吗?还请各位道友指点一下

提问者:张斯佗罗夫柯基4097017 2018-02-11 18:12

个回答

  • panye
    2019-12-16 14:34:40

    arguments.callee(List),他就是用的外部的List,根本就不用传;这里写的有问题,这里用定时器的意义就是为了改变arguments.callee的指向而已,完全可以写个自执行函数就ok了

        function Aaron(List, callback) {

            (function () {

                var task;

                if (task = List.shift()) {

                    task(); // 执行函数

                }


                if (List.length > 0) { // 递归分解

                    arguments.callee();

                }

                else {

                    callback();

                }

            })();

        }


  • 菜狗
    2018-03-05 16:27:32

    这个是callee不是call。。