84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
如果在原有函数上扩展的话 就得加参数加 if 这造成使用正常功能的话多了一些判断 不开心
新建函数的话又声明了一块内存给他 多了内存消耗~
ringa_lee
这个问题并没有一个最佳答案, 终究要你从实际项目出发, 而且你应该从 扩展性/维护性/可读性 之类的角度来思考和做选择, 这些会比较重要. 至于内存消耗之类的你就属于瞎操心了, 哪怕目前最庞大的js应用, 也不至于对一个函数的内存占用这么锱铢必究...
嘛, 我还是补充一下吧, 如果你非要要求高性能, 我想到了一种方式:
function foo( flag ) { foo = !!flag? function() { return true; }: function () { return false; } return foo(); } foo(true); console.log( foo ); // 你可以看到最终的 foo 不再是一开始定义的样子
直到第一次使用的时候才确定函数的作用, 并且在确定以后去掉所有无用逻辑. 懒加载+内存占用最小.理论上, 多次调用应该是性能最优的.
函数式编程与命令式编程
这个问题并没有一个最佳答案, 终究要你从实际项目出发,
而且你应该从 扩展性/维护性/可读性 之类的角度来思考和做选择, 这些会比较重要.
至于内存消耗之类的你就属于瞎操心了, 哪怕目前最庞大的js应用, 也不至于对一个函数的内存占用这么锱铢必究...
嘛, 我还是补充一下吧, 如果你非要要求高性能, 我想到了一种方式:
直到第一次使用的时候才确定函数的作用, 并且在确定以后去掉所有无用逻辑.
懒加载+内存占用最小.
理论上, 多次调用应该是性能最优的.
函数式编程与命令式编程