1.7.Closure

  • Closure(閉包)的功能為

    • 1.延長變數的生存週期

    • 2.可將全域變數封裝為區域變數

    • 3.利用閉包進行物件導向設計

  • 1.延長變數的生存週期

  • 2.將全域變數封裝為區域變數, 例如cache

    • 將不需要暴露在全域的變數封裝為區域變數

    • 寫法

      • 原來的code:

          var cache = {} // 全域變數
          var mult = function(){
              return something
          }
      • 改為

         var mult = function(){
             var cache = {} // 封裝全域變數
             return function(){
                  return something
             }
         }
  • 3.利用閉包進行物件導向設計

    • 有三種方式

      • 1.用建構子方式新增物件, 以closure的方式建立方法

      • 2.用JSON物件方式新增物件, 以closure的方式建立方法

      • 3.用建構子方式新增物件, 以closure的方式建立方法

Last updated