<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲一区二区三区写真 | 亚洲欧洲精品国产区| 国产免费不卡视频| 国产青草亚洲香蕉精品久久| 亚洲精品动漫人成3d在线| 久久精品私人影院免费看| 亚洲va久久久久| 激情97综合亚洲色婷婷五| **真实毛片免费观看| 深夜a级毛片免费视频| 亚洲欧洲日产国产综合网| 国产成人精品男人免费| 免费看搞黄视频网站| 亚洲精品成a人在线观看☆| 日韩亚洲一区二区三区| 永久黄网站色视频免费观看| a视频在线观看免费| 亚洲精品无码成人片久久不卡| 亚洲日韩欧洲乱码AV夜夜摸| 无码一区二区三区免费视频| 全黄大全大色全免费大片| 亚洲国产日韩a在线播放| 亚洲嫩草影院久久精品| 四虎成人精品在永久免费| 久久久久久毛片免费播放| 免费中文字幕视频| 亚洲一区AV无码少妇电影| 婷婷精品国产亚洲AV麻豆不片| 国产高清免费在线| 免费视频爱爱太爽了| a级片在线免费看| 看Aⅴ免费毛片手机播放| 精品亚洲AV无码一区二区| 婷婷精品国产亚洲AV麻豆不片| 亚洲麻豆精品国偷自产在线91| 成年女人男人免费视频播放| 91精品免费高清在线| 你是我的城池营垒免费观看完整版 | 在线观看亚洲人成网站| 自拍偷自拍亚洲精品情侣| 国产一区视频在线免费观看|