日期:2014-05-16  浏览次数:20404 次

请问函数和函数之间以及类的方法之间要不要考虑避免依赖关系?
如两个函数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())

那在对类的方法设计时是不是中也要尽量避免在一个方法中,直接调用类中的另一个方法呢?

------解决方案--------------------
看情况  如果你不希望f2被外边掉  就放f1里  但如果f2是在其他地方也可以重复利用的 最好放外边了
------解决方案--------------------
那有这么难看的代码。
再说,你这代码都在全局上的。
------解决方案--------------------
引用:
Quote: 引用:

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


是不是我没说清楚啊?
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();
}

这是一种工具类静态方法的形式。