參照以下例子
例1:
function add(a, b) {
console.log( a + b);
}
function subtract(a, b) {
console.log( a - b);
}
function getStr() {
console.log('hello')
}
// 函數作參數傳遞,函數的參數以數組形式傳
function use(fn, args) {
fn.apply(this, args);
}
(function(){
use(add, [1,2])
use(subtract, [3,1])
use(getStr)
})()
例2:
例1只可以調用window下的函數,卻不可以根據方法名調用某成員函數,
將上邊use函數改寫如下
use: function(fnName, args) {
var fn = window[fnName];
if (typeof fn === "function") {
return fn.apply(this, args);
}
}
(function(){
use("add", [1,2])
use("subtract", [3,1])
use("getStr")
})()