参照以下例子
例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")
})()