<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      K_Reverter的網(wǎng)頁開發(fā)記錄

      要么不做,要么就當作藝術(shù)品來做!

      導(dǎo)航

      Jla框架介紹(二) 核心和基本規(guī)范

          這一篇將介紹Jla框架的核心,在此之前,先要介紹"Jla"這個名稱,全稱是"JavaScript Lazy App",這個框架的核心是將一系列代碼單元組合起來,在頁面上按需加載,也就是通俗提到的"懶載入",這也就是這個名字的由來。
          當我們來仔細審視JavaScript相對于其他語言的特點時,我們會發(fā)現(xiàn),安全性和對懶載入的支持是我們不能忽視的特性,安全性是指用戶通常會信任JavaScript腳本的運行,因此運行的平臺非常廣泛,而懶載入則使得我們在開發(fā)之中,可以靈活的控制程序單元從服務(wù)端流向客戶端的過程,這樣,就為使用JavaScript進行大型項目的開發(fā)提供了可能。
          在現(xiàn)在,越來越多的桌面應(yīng)用程序正在改為BS模式,原來的程序可能是幾十兆甚至上百兆,這種情況下,如果通過BS模式一次加載所有的功能到頁面上,會給客戶端帶來非常不好的用戶體驗,對服務(wù)器的壓力也挺大,而且其中的大部分功能未必用戶真正能用得上,因此我們最好是將程序進行分拆,任何功能都是在需要的時候再加載,例如點擊按鈕之后執(zhí)行的操作等。
          Jla框架正是為解決這個問題而設(shè)計的框架,我們先看看該框架是怎么定義的:
          在Jla框架之中,一個程序由眾多的代碼單元組成,每個代碼單元應(yīng)該是這樣的模式:

       1     Jla.require(["namespace.ClassA","namespace.ClassB"],2,function(ClassA,ClassB)
       2     {
       3         //code of ClassD start
       4         function App()
       5         {
       6         }
       7         App.prototype.onClick=function()
       8         {
       9             Jla.require(["namespace.ClassC"],1,function(ClassC)
      10             {
      11                 //調(diào)用ClassC.完成點擊之后執(zhí)行的操作
      12             })
      13         }
      14         //code of ClassD End
      15         Jla.set("namespace.ClassD",App);
      16     })

       

       

          從上面的代碼單元來看,這個代碼單元是定義了一個類,這個類的命名空間是namespace.ClassD,通過Jla.set來向框架之中注冊這個命名空間,這個類使用到了兩個Jla.require方法,代表這個類在運行時會依賴其他的類。
          當一個類需要調(diào)用其他類的時候,要求使用Jla.require模式,該模式有三個參數(shù):
          參數(shù)1是一個命名空間數(shù)組,代表需要調(diào)用哪幾個類
          參數(shù)2是依賴的類型,有三種類型:
              值1代表應(yīng)該立即去獲取該類,并在獲取完成之后執(zhí)行回調(diào)函數(shù),主要用在需要懶載入的情況,例如點擊按鈕之后執(zhí)行的函數(shù)等
              值2代表的含義和1相同,但是進一步建議在代碼發(fā)布時應(yīng)該將這幾個類也打包在一起(意味著依賴程度太高,不建議使用動態(tài)加載),主要用在一個類必須引用另一個類才能運行的情況下
              值0代表不需要主動去加載該類,但假如該類已經(jīng)加載或者后面被其他的類引用加載,則執(zhí)行回調(diào)函數(shù),用的比較少,主要用在一些事件綁定過程上。
          參數(shù)3是回調(diào)函數(shù),在需要的類都加載完成后,會自動執(zhí)行回調(diào)函數(shù),而且會將需要的類列表作為回調(diào)函數(shù)的參數(shù)傳遞,這樣就可以直接使用那些類,而不需要再次執(zhí)行
          雖然以上的代碼非常簡單,實際上也就使用了Jla.require和Jla.set兩個函數(shù),但這段代碼已經(jīng)完整表達了Jla框架的核心規(guī)范,我簡單的描述一下這個核心所定義的規(guī)范:
          1.不要直接調(diào)用一個類,對外部類的引用都應(yīng)該通過Jla.require來引用,雖然你可能直接通過命名空間或者Jla.get(namespace)調(diào)用到那個類,因為這樣就破壞了規(guī)范,而且如果你調(diào)用的時候該類還沒有加載完成,就會出現(xiàn)異常;
          2.每個代碼單元都應(yīng)該明確在實現(xiàn)自己的邏輯的過程中需要依賴哪幾個類,依賴程度如何,只有對這些能明確下來,才能保證最后應(yīng)用程序只會載入需要的邏輯單元;
          3.每個類都只應(yīng)該關(guān)心自己實現(xiàn)的邏輯,而不需要關(guān)注最終的程序是什么樣子的,這樣才能保證每一個代碼單元的重用性。
          這個框架規(guī)范比較簡單,僅僅拿著這個框架去開發(fā)會遇到一些麻煩,但是實際上這已經(jīng)是一個完整的開發(fā)框架,后面我繼續(xù)描述的內(nèi)容比較多,但都是依賴這個框架的應(yīng)用,并不是對這個框架的補充。

      posted on 2011-01-15 13:09  K_Reverter  閱讀(1656)  評論(4)    收藏  舉報

      主站蜘蛛池模板: 国产亚洲精品AA片在线爽| 中文字幕日韩精品东京热| 男人和女人高潮做爰视频| 国产精品国产自产拍高清| 亚洲国产精品久久久天堂麻豆宅男| 亚洲欧美日韩综合一区二区| 亚洲午夜精品国产电影在线观看| 无码av中文字幕久久专区| 亚洲人ⅴsaⅴ国产精品| 亚州av第二区国产精品| 国产精品福利中文字幕| 不卡乱辈伦在线看中文字幕| 日韩区中文字幕在线观看| 欧美国产日韩久久mv| 国产一区二区三区怡红院| 国产普通话对白刺激| 91亚洲国产成人精品性色| 美女自卫慰黄网站| 玩弄漂亮少妇高潮白浆| 国产av综合一区二区三区| 夜夜添无码试看一区二区三区| 国产三级a三级三级| 亚洲日韩乱码中文无码蜜桃臀| 福利在线视频一区二区| 国产永久免费高清在线| 日韩乱码人妻无码中文字幕视频 | 国产偷人妻精品一区二区在线 | 999国产精品一区二区| 中文文字幕文字幕亚洲色| 日韩精品亚洲专区在线观看| 国产午精品午夜福利757视频播放| 亚欧美日韩香蕉在线播放视频 | 野外少妇被弄到喷水在线观看| 久久综合狠狠综合久久激情| 欧美猛少妇色xxxxx猛叫| 久久精品亚洲精品国产色婷 | 欧美高清狂热视频60一70| 欧美性XXXX极品HD欧美风情| 无码全黄毛片免费看| 国产女人和拘做受视频免费| 精品自拍自产一区二区三区|