码迷,mamicode.com
首页 > 其他好文 > 详细

设计一个函数,它接受不定数量的参数,这是参数都是函数。这些函数都接受一个回调函数作为参数,按照回调函数被调用的顺序返回函数名

时间:2017-05-16 23:26:28      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:设计   pre   callee   logs   nbsp   调用   div   callback   函数   

        function acceptFuncs() {
            var fnNames = []; //定义数组字面量,用来保存函数名称

            for (var i = 0; i < arguments.length; i++) { //for循环检测接收到的每个参数是否为函数,是则传递回调函数给它,最后所结果压入数组中
                if (typeof arguments[i] === "function") { 
                    fnNames.push(arguments[i](callback));
                }
            }
            for (var i = 0; i < fnNames.length; i++) { //逐个打印函数名称
                alert(fnNames[i]);
            }
        }
        
        //回调函数,返回调用它的母函数的函数名称
        function callback() { 
           return arguments.callee.caller.name;
        }

        //测试函数
        function test1(fn1) {
            if (typeof fn1 === "function")
                return fn1();
        }

        function test2(fn1) {
            if (typeof fn1 === "function")
                return fn1();
        }

        function test3(fn1) {
            if (typeof fn1 === "function")
                return fn1();
        }

        //调用测试
        acceptFuncs(test1,test2,test3);

 

别人提的问题,试着答了下,测试成功:

 

设计一个函数,它接受不定数量的参数,这是参数都是函数。这些函数都接受一个回调函数作为参数,按照回调函数被调用的顺序返回函数名

标签:设计   pre   callee   logs   nbsp   调用   div   callback   函数   

原文地址:http://www.cnblogs.com/sx00xs/p/6863732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!