
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 wb500 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 不知道其它地方用到 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(); } } ``` |