<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 暴露模塊模式 既然我們對模塊模式已經有一些了解了,讓我們看一下改進版本 - Christian Heilmann 的啟發式模塊模式。 啟發式模塊模式來自于,當Heilmann對這樣一個現狀的不滿,即當我們想要在一個公有方法中調用另外一個公有方法,或者訪問公有變量的時候,我們不得不重復主對象的名稱。他也不喜歡模塊模式中,當想要將某個成員變成公共成員時,修改文字標記的做法。 因此他工作的結果就是一個更新的模式,在這個模式中,我們可以簡單地在私有域中定義我們所有的函數和變量,并且返回一個匿名對象,這個對象包含有一些指針,這些指針指向我們想要暴露出來的私有成員,使這些私有成員公有化。 下面給出一個如何使用暴露式模塊模式的例子: ~~~ var myRevealingModule = function () { var privateVar = "Ben Cherry", publicVar = "Hey there!"; function privateFunction() { console.log( "Name:" + privateVar ); } function publicSetName( strName ) { privateVar = strName; } function publicGetName() { privateFunction(); } // Reveal public pointers to // private functions and properties return { setName: publicSetName, greeting: publicVar, getName: publicGetName }; }(); myRevealingModule.setName( "Paul Kinlan" ); ~~~ 這個模式可以用于將私有函數和屬性以更加規范的命名方式展現出來。 ~~~ var myRevealingModule = function () { var privateCounter = 0; function privateFunction() { privateCounter++; } function publicFunction() { publicIncrement(); } function publicIncrement() { privateFunction(); } function publicGetCount(){ return privateCounter; } // Reveal public pointers to // private functions and properties return { start: publicFunction, increment: publicIncrement, count: publicGetCount }; }(); myRevealingModule.start(); ~~~ ### 優勢 這個模式是我們腳本的語法更加一致。同樣在模塊的最后關于那些函數和變量可以被公共訪問也變得更加清晰,增強了可讀性。 ### 缺點 這個模式的一個缺點是如果私有函數需要使用公有函數,那么這個公有函數在需要打補丁的時候就不能被重載。因為私有函數仍然使用的是私有的實現,并且這個模式不能用于公有成員,只用于函數。 公有成員使用私有成員也遵循上面不能打補丁的規則。 因為上面的原因,使用暴露式模塊模式創建的模塊相對于原始的模塊模式更容易出問題,因此在使用的時候需要小心。
                  <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>

                              哎呀哎呀视频在线观看