为了账号安全,请及时绑定邮箱和手机立即绑定

函数新增一个功能是选择在原有函数上扩展还是新建一个函数~

函数新增一个功能是选择在原有函数上扩展还是新建一个函数~

天涯尽头无女友 2018-11-15 14:13:32
如果在原有函数上扩展的话 就得加参数加 if 这造成使用正常功能的话多了一些判断 不开心新建函数的话又声明了一块内存给他 多了内存消耗~
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

这个问题并没有一个最佳答案, 终究要你从实际项目出发, 
而且你应该从 扩展性/维护性/可读性 之类的角度来思考和做选择, 这些会比较重要. 
至于内存消耗之类的你就属于瞎操心了, 哪怕目前最庞大的js应用, 也不至于对一个函数的内存占用这么锱铢必究...

嘛, 我还是补充一下吧, 如果你非要要求高性能, 我想到了一种方式:

function foo( flag ) {
   foo = !!flag? function() {
       return true;
   }: function () {
       return false;
   }
   return foo();
}
foo(true);
console.log( foo ); // 你可以看到最终的 foo 不再是一开始定义的样子

直到第一次使用的时候才确定函数的作用, 并且在确定以后去掉所有无用逻辑. 
懒加载+内存占用最小.
理论上, 多次调用应该是性能最优的.


查看完整回答
反对 回复 2018-12-11
  • 1 回答
  • 0 关注
  • 490 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信