<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 一、定義 保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。 當單擊登陸按鈕,頁面中出現一個登陸浮窗,這個登陸浮窗是唯一的,無論單擊多少次登陸按鈕,這個浮窗都只會被創建一次,那么這個登陸浮窗就適合用單例模式來創建。 ### 二、實現原理 要實現單例并不復雜,使用一個變量來標志當前是否已經為某個類創建過對象,如果是,則在下一次獲取該類的實例時,直接返回之前創建的對象。 ### 三、假單例 全局變量不是單例模式,但在JavaScript開發中,我們經常會把全局變量當成單例來使用。 ~~~ var a = {}; ~~~ 降低全局變量帶來的命名污染 (1)使用命名空間 ~~~ var namespace1 = { a: function(){}, b: 2 } ~~~ (2)使用閉包封裝私有變量 ~~~ var user = (function() { var _name = 'lee', _age = '25'; return { getUserInfo: function() { return _name + ":" + _age; } }; })(); ~~~ ### 四、惰性單例:在需要的時候才能創建對象實例。 ~~~ var getSingle = function(fn) { var result; return function() { return result || (result = fn.apply(this, arguments)); }; }; // 測試 function testSingle(){} getSingle(testSingle)() === getSingle(testSingle)(); // true ~~~ ### 五、補充: **(1)懶加載** ~~~ var lazyload = function() { console.log(1); lazyload = function() { console.log(2); } return lazyload(); } lazyload(); ~~~ **(2)預加載** ~~~ var preload = (function() { console.log(1); preload = function() { console.log(2); }; return preload; })(); preload(); ~~~ 轉載請標明出處:[http://blog.csdn.net/ligang2585116](http://blog.csdn.net/ligang2585116)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看