function fn(){
if(type == 1){
fn2();
}else{
fn3();
}
}
我现在有个 fn 方法,执行的时候会根据 type 进行判断到底调用 fn2 和 fn3 哪一个方法,在调用这些方法之前,需要做一些判断,判断这个方法需要的值是否为空之类的,有些判断是相同的,是放在工共的 fn 中比较好,还是这些判断在 fn2 和 fn3 中都写一次比较好
function fn(){
// if(a == ''){
//
// }
if(type == 1){
fn2();
}else{
fn3();
}
}
1
ismumu 2019-10-15 11:03:58 +08:00
看你 type 侧重点,如果 type 比较重要:先用 type 来区分执行 f2 还是 f3,f2,f3 里面放公共 fn ;否则的话现有的就可以
|
2
markzyh 2019-10-15 11:20:07 +08:00
function fn() {
if (!a) { if (type == 1) fn1(); else fn2(); } } |
3
waiaan 2019-10-15 11:36:31 +08:00
公共的吧,然后闭包返回。
|
4
ironMan1995 2019-10-15 11:38:45 +08:00 1
不知道其它地方用到 fn2 fn3 没,个人倾向只在 fn 中做根据 type 属性调用哪个函数的判断(后面也许需要有根据更多 type 属性值调用其它的方法 可以使用 switch),函数执行需要的变量只在自身作用域中做判断逻辑处理,低耦合
|
5
sheaned 2019-10-15 14:07:47 +08:00
一个函数自己要用到的参数自己去判断,干嘛让别的函数帮你做呢
|
6
leoskey 2019-10-15 16:35:47 +08:00
1. 尽量避免写重复的代码;
2. 错误优先执行; 3. 少写面条代码,该拆就拆。 ```javascript function fn() { if(isChecked()){ } } ``` |
7
leoskey 2019-10-15 16:37:14 +08:00
1. 尽量避免写重复的代码;
2. 错误优先执行; 3. 少写面条代码,该拆就拆。 ``` function fn(type) { if(isChecked()) { return type == 1 ? fn1() : fn2(); } } ``` |