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

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

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

    posts - 101,  comments - 29,  trackbacks - 0

     前段時間學JavaScript,最先學的就是如何建立自己的JavaScript函數庫,在我看來,函數就是程序活的靈魂,在此簡單介紹一下如何建立自己的JavaScript函數庫。

    原則:

            不要版本檢測:常用瀏覽器一般是IE、firefox、safari、opera、google,不能為了追求兼容而嗅探當前瀏覽器進而選擇運行模式。

            最好是能力檢測:即在代碼執行之前,檢測使用的某個腳本或是對象是否存在,而不是依賴于哪種瀏覽器,例如:

                 if (document.body&&document.body.getElementsByTagName) {//如果document.body 與getElementsByTagName存在
                         //使用document.body.getElementsByTagName代碼
                 }

         使用命名空間:javascript支持多次聲明同名函數,但是只能使用最后聲明的版本,為了確保不相抵觸,需要使用命名空間來區別同名函數。使用命名空間分需要注意兩點:唯一和不共享,唯一即命名空間命名唯一,例如google加G,我自己的加LD;不共享即什么都不共享包括名稱、變量等,為了防止自己的$函數和prototype中的沖突,可以使用如下方法:
    (function(){
        //自己的代碼
    })();
    // JavaScript Document
    (function(){
              function $(){
                  alert ("正在Buffering!");//提示正在緩沖
                  }
                  window['LD']={}//把LD命名空間加到window
                  window['LD']['$']=$;把$函數加到LD
    }
    )(); 

    JavaScript函數庫實例

    [javascript] view plaincopy
    1. (function () {  
    2.         window['LD'] = {}; //將命名空間寫到window上  
    3.         function $() {//獲取elements  
    4.                 var elements = new Array();  
    5.                 for (var i = 0; i < arguments.length; i++) {  
    6.                         var element = arguments[i]; //賦值element參數數組值   
    7.                         if (typeof element == 'string') {  
    8.                                 element = document.getElementById(element);  
    9.                         }  
    10.                         if (arguments.length == 1) {  
    11.                                 return element;  
    12.                         }  
    13.                         elements.push(element);  
    14.                 }  
    15.                 return elements;  
    16.         };  
    17.         function getElementsByClassName() {  
    18.                 //TODO  
    19.         };  
    20.         window['LD']['$'] = $; //將函數寫到window下的LD下  
    21.         window['LD']['getElementsByClassName'] = getElementsByClassName; //將新的getElementsByClassName添加到LD下  
    22. })()  
            head:
    [javascript] view plaincopy
    1. <head>  
    2.         <script src="LD.js" type="text/javascript"></script>  
    3.         <script type="text/javascript">  
    4.                 function cclick() {  
    5.                         var testInput = LD.$("Text1""Text2");  
    6.                         for (var i = 0; i < testInput.length; i++) {  
    7.                                 alert(testInput[i].value);//彈出其內容  
    8.                         }  
    9.                 }  
    10.           </script>  
    11. <title></title>  
    12. </head>  
            body:
    [javascript] view plaincopy
    1. <body onload ="LD.$();">  
    2.         <p>  
    3.                 <input id="Text2" type="text" value="廊坊" />  
    4.                 <input id="Text1" type="text"  value="提高班" />  
    5.         </p>  
    6.         <p>  
    7.                 <input id="Button1" type="button" value="點我"  onclick="cclick();" />  
    8.         </p>  
    9. </body>  
            運行結果:

            這只是最基本的自建函數庫,更多的自建函數還等待我的積累。

    posted on 2012-06-27 23:01 mixer-a 閱讀(845) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久er国产精品免费观看2| 三年片在线观看免费观看高清电影 | 在线成人精品国产区免费| 999任你躁在线精品免费不卡| 免费观看a级毛片| 亚洲色精品VR一区区三区| 成人在线视频免费| 欧美亚洲精品一区二区| 国产乱子伦精品免费女 | 亚洲AV无码专区国产乱码不卡 | 日韩免费无砖专区2020狼| 疯狂做受xxxx高潮视频免费| 1000部拍拍拍18勿入免费视频下载| 亚洲成av人在片观看| 国产.亚洲.欧洲在线| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 亚洲毛片在线观看| 久久久久久噜噜精品免费直播| 亚洲一区二区三区无码中文字幕| 一级毛片试看60分钟免费播放 | 狠狠色伊人亚洲综合网站色| 成人永久福利免费观看| 51午夜精品免费视频| 亚洲成在人天堂在线| 操美女视频免费网站| igao激情在线视频免费| 久久久久亚洲AV无码永不| 在线观看免费毛片| 中国好声音第二季免费播放| 亚洲国产精品成人一区| 日韩成人免费视频| 亚洲欧洲精品成人久久曰| 国产L精品国产亚洲区久久 | 在线观看亚洲免费视频| 久久亚洲精品中文字幕三区| 在线视频免费观看高清| 国产免费一级高清淫曰本片| 亚洲性色高清完整版在线观看| 美丽的姑娘免费观看在线播放| 亚洲AV色欲色欲WWW| 图图资源网亚洲综合网站|