javascript - 函數新增一個功能是選擇在原有函數上擴充還是新建一個函數~
ringa_lee
ringa_lee 2017-05-19 10:23:44
0
2
544

如果在原始函數上擴充的話 就得加參數加 if 這造成使用正常功能的話多了一些判斷 不開心

新函數的話又宣告了一塊記憶體給他 多了記憶體消耗~

ringa_lee
ringa_lee

ringa_lee

全部回覆(2)
小葫芦

這個問題並沒有一個最佳答案, 終究要你從實際項目出發,
而且你應該從擴展性/維護性/可讀性之類的角度來思考和做選擇, 這些會比較重要.
至於內存消耗之類的你就屬於瞎操心了, 哪怕目前最龐大的js應用, 也不至於對一個函數的內存佔用這麼鐃銖必究...

嘛, 我還是補充一下吧, 如果你非要要求高性能, 我想到了一種方式:

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

直到第一次使用的時候才確定函數的作用, 並且在確定以後去掉所有無用邏輯.
懶加載+內存佔用最小.
理論上, 多次調用應該是性能最優的.

世界只因有你

函數式程式設計與命令式程式設計

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板