0
    //方法1
    aSend:function() {
        ...
        reports.a.update(...);
    },

    //方法2
    bSend:function() {
        ...
        reports.b.update(...);
    },
    
    //方法3
    cSend:function() {
        ...
        reports.c.update(...);
    }
    
    //有什么好的建议写成一个公共方法?(...基本没差别,有个别变量名改变)
2016-03-15 提问
5 个回答
2

已采纳
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);
});
1
//flag "a","b","c"...
function send(flag){
    reports[flag].update(...);
}
0

公共方法,最好是封装成一个大的函数体,可以实现n个变量的,就好像那些分页插件,那种分装很好,代码重用率很高,不过需要很强的逻辑能力

0

难道不是 reports[var].update(...);

-1

可以这样:

adcSend  function(flag){
//这里的flag代表传入参数,做个别修改
<!--差别部分-->
if(flag == 'a'){
 //Todo
 //这里是a方法的个别修改
}else if(flag == 'b'){
 //Todo
 //这里是b个别修改
}else {
//Todo
//这里是c个人修改
}
<!--这里是公共部分-->
//Todo
};

撰写答案

推广链接