//真正要執行的函數 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