在最近项目需求中发现,完成一些功能的时候总是要调很多结构类似的方法,写起来很繁琐,所以就想写一个“万能”方法,是的代码更简洁。即:把一个方法作为参数传给这个“万能”方法,让它去执行你给定的方法,就类似于ajax中success/error方法传参,总是传入一个方法体。
####1.将方法作为参数
代码:
var a = function(){
console.info("我成功执行了...");
}
var excuteFunc = function(funcName){
funcName();
}
excuteFunc(a);
控制台输出:
我成功执行了...
上面我们执行把a方法作为参数传给excuteFunc方法,用excuteFunc执行了a方法,但是如果a方法也含有参数呢,看下面的例子
####2.含参数的方法作为参数
代码:
var b = function(b){
console.info("我成功执行了"+b);
}
var setFunc = function(fName,p){
fName(p);
}
setFunc(b,"b方法");
控制台输出:
我成功执行了b方法
上例中的setFunc方法的第一个参数是要调用方法的句柄,第二个参数是要调用方法的参数,如果是多个依次列出即可
####3一个定时刷新数据的使用场景
var getData = function(url){
$.post(url,function(result){
//逻辑代码...
});
}
var getData1...
.
.
.
var setTimeFresh = function(fName,time,url){
setInterval(fName,time,url);
}
setTimeFresh(getData,3000,url);//3秒获取依次数据刷新页面
setTimeFresh(getData1,10000,url1);
上例通过调用setTImeFresh方法去定时刷新指定数据,从而达到页面部分数据定时刷新的职能
小白菜又来献丑,勿怪!