设计一个函数,它接受不定数量的参数,这是参数都是函数。这些函数都接受一个回调函数作为参数,按照回调函数被调用的顺序返回函数名
Posted sx00xs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计一个函数,它接受不定数量的参数,这是参数都是函数。这些函数都接受一个回调函数作为参数,按照回调函数被调用的顺序返回函数名相关的知识,希望对你有一定的参考价值。
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);
别人提的问题,试着答了下,测试成功:
以上是关于设计一个函数,它接受不定数量的参数,这是参数都是函数。这些函数都接受一个回调函数作为参数,按照回调函数被调用的顺序返回函数名的主要内容,如果未能解决你的问题,请参考以下文章