首页 > 代码库 > 设计一个函数,它接受不定数量的参数,这是参数都是函数。这些函数都接受一个回调函数作为参数,按照回调函数被调用的顺序返回函数名
设计一个函数,它接受不定数量的参数,这是参数都是函数。这些函数都接受一个回调函数作为参数,按照回调函数被调用的顺序返回函数名
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);
别人提的问题,试着答了下,测试成功:
设计一个函数,它接受不定数量的参数,这是参数都是函数。这些函数都接受一个回调函数作为参数,按照回调函数被调用的顺序返回函数名
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。