//方法1
aSend:function() {
...
reports.a.update(...);
},
//方法2
bSend:function() {
...
reports.b.update(...);
},
//方法3
cSend:function() {
...
reports.c.update(...);
}
//有什么好的建议写成一个公共方法?(...基本没差别,有个别变量名改变)
难道不是 reports[var].update(...);
可以这样:
adcSend function(flag){
//这里的flag代表传入参数,做个别修改
<!--差别部分-->
if(flag == 'a'){
//Todo
//这里是a方法的个别修改
}else if(flag == 'b'){
//Todo
//这里是b个别修改
}else {
//Todo
//这里是c个人修改
}
<!--这里是公共部分-->
//Todo
};
function send(flag, callback) {
// 检测 reports[flag] 是否存在
if (if reports[flag] && typeof reports[flag].update === 'function') {
reports[flag].update(callback);
}
}
send('a', function (data) {
console.info('success a:', data);
});
//flag "a","b","c"...
function send(flag){
reports[flag].update(...);
}
公共方法,最好是封装成一个大的函数体,可以实现n个变量的,就好像那些分页插件,那种分装很好,代码重用率很高,不过需要很强的逻辑能力