//真正要执行的函数 var sayHi = function () { console.log('Hi'); }; //控制器 var timer = function (fn, num) { for (var i = 0; i < num; i++) { fn(); } } //向控制器传入要执行的函数和执行次数 timer(sayHi, 2); 输出: Hi Hi
如果要执行的函数需要传递参数的话,思路是一样的,直接在控制器上加需要的参数:
//真正要执行的函数(带参数) var saySomething = function (paramA, paramB) { console.log(paramA, paramB); }; //控制器(带参数) var timer = function (fn, paramA, paramB, num) { for (var i = 0; i < num; i++) { fn(paramA, paramB); } } //向控制器传入需要执行的函数、参数、执行次数 timer(saySomething, 'aaaaaa', 'bbbbbb', 2); 输出: aaaaaa bbbbbb aaaaaa bbbbbb