标签:设计 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