守着一只汪
这个问题并没有一个最佳答案, 终究要你从实际项目出发, 而且你应该从 扩展性/维护性/可读性 之类的角度来思考和做选择, 这些会比较重要. 至于内存消耗之类的你就属于瞎操心了, 哪怕目前最庞大的js应用, 也不至于对一个函数的内存占用这么锱铢必究...嘛, 我还是补充一下吧, 如果你非要要求高性能, 我想到了一种方式:function foo( flag ) {
foo = !!flag? function() {
return true;
}: function () {
return false;
}
return foo();
}
foo(true);
console.log( foo ); // 你可以看到最终的 foo 不再是一开始定义的样子直到第一次使用的时候才确定函数的作用, 并且在确定以后去掉所有无用逻辑. 懒加载+内存占用最小.理论上, 多次调用应该是性能最优的.