Java JavaScript Web2.0

          WWW World, Jack's World
          posts - 9, comments - 28, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) ::  :: 聯(lián)系 :: 聚合  :: 管理

          YUI和Dojo的widget都必須存在于自己的名字空間內(nèi),這些名字空間是預(yù)先建立好的。 那么,如果我們要建立自己的名字空間怎么辦呢?(產(chǎn)生這種需求的原因通常是,我們要管理難以管理的JavaScript代碼。)


          在YUI中:

           執(zhí)行

          1. YAHOO.namespace ("myspace");

           然后你就擁有了YAHOO.myspace這個(gè)名字空間,可以進(jìn)行類(lèi)似如下的操作:

          2. YAHOO.myspace.alertHello=function() {alert("Hello");}

          實(shí)質(zhì)上,YUI.namespace相當(dāng)于建立了一個(gè)表項(xiàng),準(zhǔn)確地說(shuō)是相聯(lián)數(shù)組(associative array)的一項(xiàng)。 我們可以用以下兩句代替上面的1、2語(yǔ)句

          1)YAHOO["myspace"]=new function(){};

          2)YAHOO["myspace"].alertHello=function(){ alert("Hello");};

          而且1、2與1)、2)可以交叉組合使用。

           不管你使用哪種方式創(chuàng)建自己的名字空間,都有兩種方式調(diào)用alertHello

          a. YAHOO["myspace"].alertHello();

          b. YAHOO.myspace.alertHello();


          在Dojo中:

          使用方式參考:dojo_custom-namespace

          Dojo.require()提供了更強(qiáng)大的名字空間管理工具:Dojo用module來(lái)對(duì)應(yīng)名字空間的含義。 我尚為對(duì)其相關(guān)函數(shù)的原理進(jìn)行深入研究,也沒(méi)有尋找等價(jià)的使用方式。

           但是,注意手冊(cè)中這句話(huà):“First of all, you'll want to create a directory structure ...”。也就是說(shuō),Dojo的module一定要對(duì)應(yīng)一個(gè)js文件。

          所以dojo.require機(jī)制不是為了創(chuàng)建只存在于邏輯上的名字空間。 dojo.require一定會(huì)去下載相應(yīng)的js文件,參考dojo 0.9的手冊(cè): dojo-require



          評(píng)論

          # re: 關(guān)于Namespace, YUI和Dojo對(duì)此問(wèn)題的異同  回復(fù)  更多評(píng)論   

          2007-08-28 20:32 by 姜利陽(yáng)
          歡迎新隊(duì)員

          # re: 關(guān)于Namespace, YUI和Dojo對(duì)此問(wèn)題的異同  回復(fù)  更多評(píng)論   

          2007-08-28 21:46 by Jack L
          3X:)
          主站蜘蛛池模板: 塘沽区| 桃江县| 湄潭县| 祁东县| 静安区| 平利县| 津南区| 武宁县| 郓城县| 汽车| 日土县| 蓬安县| 安福县| 钟祥市| 满城县| 延长县| 宁都县| 迁西县| 新蔡县| 乌海市| 汨罗市| 延长县| 凌海市| 浠水县| 丹寨县| 体育| 乾安县| 南城县| 桐梓县| 临泽县| 威宁| 扶余县| 安平县| 运城市| 定襄县| 延边| 延安市| 开封市| 霍州市| 河池市| 建阳市|