如两个函数f1和f2,
function f1(){}
function f2(){
  var m=f1()+10;
  alert(m)
}
f2();有没有必要把它改成:
funciton f1(){}
function f2(x){
  var m=x+10;
  alert(m)
}
f2(f1())那在对类的方法设计时是不是中也要尽量避免在一个方法中,直接调用类中的另一个方法呢?

解决方案 »

  1.   

    看情况  如果你不希望f2被外边掉  就放f1里  但如果f2是在其他地方也可以重复利用的 最好放外边了
      

  2.   

    f2(f1())如果你把它设计为一个类,那调用的方式就变为 f2(new f1()) 这样的了。你只是要调用一下方法,就没必要搞成一个类的形式。
      

  3.   

    iwaterman 我没说清楚,我想问在设计类的方法时,要不要避免方法和方法见的依赖?
    比如
    function A(){}
    A.prototype.method1=function(){}
    B.prototype.method2=function(){
       var t=method1();
       return t 
    }
    是不是最好不要这样设计,否则method2依赖了method1?
      

  4.   


    是不是我没说清楚啊?
    function f1(){}
    function f2(){
      var m=f1()+10;
      alert(m)
    }
    f2();
    这个我觉得f2依赖f1了,我想去掉依赖,就把f1运行结果直接传给f2,如下
    funciton f1(){}
    function f2(x){
      var m=x+10;
      alert(m)
    }
    var m=f1()
    f2(m)
    这种设计方式是不是更好一些,有必要做这种修改吗?
      

  5.   

    funciton f1(){}
    function f2(x){
      var m=x+10;
      alert(m)
    }
    //f2(f1())  
      

  6.   


    是不是我没说清楚啊?
    function f1(){}
    function f2(){
      var m=f1()+10;
      alert(m)
    }
    f2();
    这个我觉得f2依赖f1了,我想去掉依赖,就把f1运行结果直接传给f2,如下
    funciton f1(){}
    function f2(x){
      var m=x+10;
      alert(m)
    }
    var m=f1()
    f2(m)
    这种设计方式是不是更好一些,有必要做这种修改吗?个人认为如果函数只是在一个页面中使用,就没必要;如果你是想抽取为一个js文件,可能在多个地方被使用,建议做适当的封装,即使也不一定非按OOP来,比如:
    var Utils = {};
    Utils.getUrl = function(){};...var xxx =function(){
    Utils.getUrl();
    }这是一种工具类静态方法的形式。