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

            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);

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

  • 相关阅读:
    c++之五谷杂粮4---explicit
    ping
    Swift常量和变量
    Swift数据类型简介
    Swift 注释
    Swift标示符以及关键字
    xcode简介
    认识Swift
    Android_adb详解
    详解Android AM命令
  • 原文地址:https://www.cnblogs.com/sx00xs/p/6863732.html
Copyright © 2011-2022 走看看