<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0
    這里所說的基礎(chǔ)對(duì)象和方法是指的不Require任何包就能夠調(diào)用的對(duì)象和方法

    匿名函數(shù)

    在開始前,我想介紹一下js里的匿名函數(shù),這個(gè)在閱讀dojo的源代碼的時(shí)候,會(huì)發(fā)現(xiàn)到處都有匿名函數(shù)

    ;(function(){
    alert(
    123);
    }
    )();
    //前面的分號(hào)是一個(gè)空語(yǔ)句,是可以不要的

    匿名函數(shù)。一個(gè)匿名函數(shù)就是一個(gè)沒有名字的函數(shù)。

    你可以認(rèn)為他們是一次性函數(shù)。當(dāng)你只需要用一次某個(gè)函數(shù)時(shí),他們就特別有用。通過使用匿名函數(shù),沒有必要把函數(shù)一直放在內(nèi)存中,所以使用匿名函數(shù)更加有效率。

    當(dāng)然你也可以根本不定義函數(shù),但是使用匿名函數(shù)可以把你的代碼分段,就像C#中的#region一樣

    dojo.byId

    非常有用的一個(gè)方法,與prototype.js的著名的$一樣

    似乎以前的版本還有dojo.byIdArray, 不過最新的版本已經(jīng)找不到這個(gè)函數(shù)了(除了src\compat\0.2.2.js)

    如果有多個(gè)元素具有指定的id,則返回的是一個(gè)集合

    Usage Example:

     dojo.byId("divTest");
     dojo.byId(
    "divTest", document);
     dojo.byId(document.getElementById(
    "divTest"));

     

    dojo.version

    dojo的版本,可以取得major, minor, patch, flag和revision

    這個(gè)對(duì)象沒什么太大用處,除非你要根據(jù)dojo的版本選擇執(zhí)行你的代碼

    dojo.raise

    拋出一個(gè)異常

    dojo.errorToString

    將異常轉(zhuǎn)換為字符串

    Usage Example:

     try
     
    {
        dojo.raise(
    "打印失敗"new Error("文件不存在"));
     }

     
    catch(e)
     
    {
        alert(dojo.errorToString(e));
     }

     

    dojo.render

    系統(tǒng)環(huán)境對(duì)象

    dojo.render.name     返回 browser ,說明是工作在瀏覽器下
    dojo.render.ver        返回 4
     ,似乎沒什么用
    dojo.os.win            返回true說明操作系統(tǒng)是Windows
    dojo.os.linux           返回true說明操作系統(tǒng)是Linux
    dojo.os.osx            返回true說明操作系統(tǒng)是MacOS
    dojo.html.ie             返回true說明瀏覽器是Internet Explorer
    dojo.html.opera             返回true說明瀏覽器是Opera
    dojo.html.khtml             返回true說明瀏覽器是Konqueror
    dojo.html.safari      返回true說明瀏覽器是Safari
    dojo.html.moz        返回true說明瀏覽器是Mozilla FireFox
    dojo.svg.capable     返回true說明瀏覽器支持svg
    dojo.vml.capable     返回true說明瀏覽器支持vml
    dojo.swf.capable    返回true說明瀏覽器支持swf
    dojo.swt.capable     返回true說明瀏覽器支持swt (IBM開發(fā)的Standard Widget Toolkit)

    如果dojo.html.ie為true的話

    dojo.html.ie50         返回true說明瀏覽器是IE 5.0
    dojo.html.ie55         返回true說明瀏覽器是IE 
    5.5
    dojo.html.ie60         返回true說明瀏覽器是IE 
    6.0
    dojo.html.ie70         返回true說明瀏覽器是IE 
    7.0

     

    dojo.addOnLoad

    可以加載指定函數(shù)到window.load時(shí)執(zhí)行,好處就是可以很方便的在window.load時(shí)執(zhí)行多個(gè)函數(shù)

    Usage Example:

     dojo.addOnLoad(init);                    //init是一個(gè)函數(shù)
     dojo.addOnLoad(myObject, init);       //init是myObject對(duì)象的一個(gè)方法

     

    dojo.require

    如果你想調(diào)用一個(gè)模塊的對(duì)象的時(shí)候,你應(yīng)該首先用dojo.require來請(qǐng)求這個(gè)模塊,dojo會(huì)根據(jù)你的請(qǐng)求自動(dòng)取得相應(yīng)的js文件,并加載到內(nèi)存中,這樣你才能調(diào)用或創(chuàng)建其中的對(duì)象

    dojo會(huì)自動(dòng)維護(hù)已加載的模塊列表,所以是不會(huì)重復(fù)加載模塊的

    Usage Example:

     dojo.require("dojo.event");

    dojo.requireIf=dojo.requireAfterIf

    可以根據(jù)指定的條件來決定是否加載指定的模塊

    Usage Example:

     dojo.requireIf(dojo.html.ie, "dojo.html");   //如果dojo.html.ie為true,才會(huì)加載dojo.html模塊

     

    dojo.provide

    除非你要開發(fā)自己的模塊,不然是用不到這個(gè)方法的,你可以這句看成是向系統(tǒng)注冊(cè)這個(gè)模塊名稱

    Usage Example:

     dojo.provide("dojo.custom");

    dojo.exists

    判斷指定對(duì)象是否具有指定名稱的方法

    Usage Example:

     dojo.exists(dojo, "exists"); //will return true

     

    dojo.hostenv.getText

    返回指定url的內(nèi)容

    PS: 由于瀏覽器的安全限制,因此只能用于取得同域名的url的內(nèi)容,否則會(huì)報(bào)告權(quán)限不夠

    Usage Example:

     aSync = false//同步,確保返回內(nèi)容不為null
     silent = true//不拋出錯(cuò)誤
     s = dojo.hostenv.getText("http://www.google.com/", aSync, silent); //返回Google的首頁(yè)的HTML
     alert(s);

    dojo.debug

    輸出調(diào)試信息,如果在djConfig中指定了debugContainerId,則輸出到指定的console容器中,否則直接document.write

    所有的調(diào)試信息均以 DEBUG: 開頭

    Usage Example:

     dojo.debug("這是調(diào)試信息");

     

    dojo.hostenv.println

    與dojo.debug類似,不同的是,輸出內(nèi)容沒有 DEBUG:

    Usage Example:

     dojo.hostenv.println("這是一般的輸出信息");

     

    dojo.debugShallow

    輸出指定對(duì)象的全部信息(Shallow說明并不會(huì)遍歷到下一級(jí)別的對(duì)象屬性)以供調(diào)試

    Usage Example:

     dojo.debugShallow(dojo.render.html);
    posted on 2007-01-17 10:20 周銳 閱讀(555) 評(píng)論(0)  編輯  收藏 所屬分類: Ajax
    主站蜘蛛池模板: 亚洲伊人色欲综合网| 成全影视免费观看大全二| 巨胸喷奶水www永久免费| 国产亚洲视频在线| 色五月五月丁香亚洲综合网| 亚洲AV永久无码精品放毛片| 亚洲欧洲无卡二区视頻| 亚洲av日韩综合一区久热| 亚洲国产综合AV在线观看| 亚洲av无码专区青青草原| 免费观看四虎精品成人| 永久免费精品影视网站| 一级A毛片免费观看久久精品 | 亚洲av日韩片在线观看| 免费一级毛片在线播放不收费| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲高清中文字幕免费| 亚洲国产精品成人午夜在线观看| 久久亚洲AV成人无码国产电影| 免费的黄色的网站| 91免费在线视频| 精品熟女少妇av免费久久| 色se01短视频永久免费| 超pen个人视频国产免费观看| 午夜国产大片免费观看| 亚洲中文字幕无码久久综合网| 久久精品国产亚洲一区二区| 亚洲视频一区在线| 亚洲国产综合AV在线观看| a在线视频免费观看在线视频三区| 日本视频在线观看永久免费 | 羞羞视频免费观看| 免费国产污网站在线观看| 91精品成人免费国产片| 尤物永久免费AV无码网站| 国产亚洲精品成人AA片新蒲金| 亚洲激情中文字幕| 亚洲av乱码中文一区二区三区| 国产免费久久精品99久久| 69av免费观看| av无码东京热亚洲男人的天堂|