posts - 495,comments - 227,trackbacks - 0
          util=function(){
              
          return {
                  $:
          function(id){
                      
          return document.getElementById(id);
                  },
                  trim:
          function(str){
                      
          return str.replace(/(^\s+)|(\s+$)/g, "");
                  },
                  len:
          function(str){   
                      
          return str.replace(/[^\x00-\xff]/g,'**').length;   
                  },
                  format:
          function(str){
                      
          var arg = arguments;
                      
          return str.replace(/\{(\d+)\}/g, function(m, i){
                          
          return arg[parseInt(i)+1];
                      });
                  },
                  each:
          function(object, callback, args){
                      
          var name, i = 0, length = object.length;
                      
          if ( args ) {
                          
          if ( length === undefined ) {
                              
          for ( name in object )
                                  
          if ( callback.apply( object[ name ], args ) === false )
                                      
          break;
                          } 
          else
                              
          for ( ; i < length; )
                                  
          if ( callback.apply( object[ i++ ], args ) === false )
                                      
          break;
                      } 
          else {
                          
          if ( length === undefined ) {
                              
          for ( name in object )
                                  
          if ( callback.call( object[ name ], name, object[ name ] ) === false )
                                      
          break;
                          } 
          else
                              
          for ( var value = object[0];
                                  i 
          < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
                      }
                  },
                  setCookie:
          function(name,value,hours,path,domain){
                      
          var str=new String();
                      
          var nextTime=new Date();
                      nextTime.setHours(nextTime.getHours()
          +hours);
                      str
          =name+"="+escape(value);
                      
          if(hours)
                          str
          +=";expires="+nextTime.toGMTString();
                      
          if(path)
                          str
          +=";path="+path;
                      
          if(domain)
                          str
          +=";domain="+domain;
                      document.cookie
          =str;
                  },
                  getCookie:
          function(name){
                      
          var rs=new RegExp("(^|)"+name+"=([^;]*)(;|$)","gi").exec(document.cookie),tmp;
                      
          if(tmp=rs)
                          
          return unescape(tmp[2]);
                      
          return null;
                  },
                  delCookie:
          function(name){
                      document.cookie 
          = name + "=-1" + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
                  },
                  
          /**
                  *url String
                  *parms String
                  *method String default value "get"
                  *asy Boolean defalut value true
                  *success Function(http_request.responseText)
                  *
          */
                  ajax:
          function(config){
                      
          var url=config.url,
                          parms
          =(config.parms?config.parms:""+ "&t="+new Date().getTime(),
                          method
          =config.method||"get",
                          asy
          =true;
                      
          var http_request=null;

                      
          if(method.toLowerCase()=="get"){
                          url
          =url+"?"+parms;
                          parms
          =null;
                      }

                      
          //開始初始化XMLHttpRequest對象
                      if(window.XMLHttpRequest) { //Mozilla 瀏覽器
                          http_request = new XMLHttpRequest();
                          
          if (http_request.overrideMimeType) {//設置MiME類別
                              http_request.overrideMimeType("text/xml");
                          }
                      } 
          else if (window.ActiveXObject) { // IE瀏覽器
                          try {
                              http_request 
          = new ActiveXObject("Msxml2.XMLHTTP");
                          } 
          catch (e) {
                              
          try {                
                                  http_request 
          = new ActiveXObject("Microsoft.XMLHTTP");
                              } 
          catch (e) {}
                          }
                      }
                      
          if(!http_request) { // 異常,創建對象實例失敗
                          throw new Error("不能創建XMLHttpRequest對象實例.");
                          
          return null;
                      }
                      http_request.open(method,url,asy);

                      http_request.onreadystatechange
          =function(){
                          
          if (http_request.readyState == 4){
                              
          try{
                                  
          if (http_request.status == 200){
                                      config.success(http_request.responseText);
                                  }
                              }
          catch(e){
                                  
          throw new Error("數據讀取失敗.");
                              }
                          }
                      };
                      
          if(method.toLowerCase()=="post"){
                          http_request.setRequestHeader(
          "Content-Type""application/x-www-form-urlencoded");
                      }
                      http_request.send(parms);
                  }
              };
          }();
          posted on 2009-06-10 14:17 SIMONE 閱讀(2796) 評論(8)  編輯  收藏 所屬分類: JavaScript

          FeedBack:
          # re: 我寫的javascript常用靜態方法類,分享大家
          2009-06-11 00:07 | 杰德。張
          樓主,我是js的初學者,看懂上面代碼還有些困難,能不能注釋一下給我發一份,不勝感激!!!zhangjin_2006@126.com  回復  更多評論
            
          # re: 我寫的javascript常用靜態方法類,分享大家
          2009-06-11 09:12 | good
          樓主的正則表達式沒有引號把,比如
          trim:function(str){
          return str.replace(/(^s+)|(s+$)/g, "");
          }

            回復  更多評論
            
          # re: 我寫的javascript常用靜態方法類,分享大家
          2009-06-11 09:26 | BearRui(AK-47)
          trim這些應該直接使用原型注入到String對象中使用更加方便  回復  更多評論
            
          # re: 我寫的javascript常用靜態方法類,分享大家[未登錄]
          2009-06-11 13:30 | simone
          trim:function(str){
          return str.replace(/(^s+)|(s+$)/g, "");
          }

          這樣寫是正確的,/(^s+)|(s+$)/這樣寫相當于new Regexp("(^s+)|(s+$)")  回復  更多評論
            
          # re: 我寫的javascript常用靜態方法類,分享大家[未登錄]
          2009-06-11 13:34 | simone
          上邊的類可以這樣使用
          util.trim(" test ");
          util.ajax({
          url:"http://127.0.0.1/test.jsp",
          success:function(data){
          alert(data);
          }
          });  回復  更多評論
            
          # re: 我寫的javascript常用靜態方法類,分享大家[未登錄]
          2009-06-11 13:38 | simone
          @BearRui(AK-47)

          這樣寫主要是想把這些常用的方法封裝成一個常用類  回復  更多評論
            
          # re: 我寫的javascript常用靜態方法類,分享大家
          2009-06-11 15:08 | SIMONE
          對不住大家
          上次提交的時候,博客系統把我代碼里的\字符全替換成了"
          這次好了  回復  更多評論
            
          # re: 我寫的javascript常用靜態方法類,分享大家
          2013-10-11 10:56 | log琥珀
          其實這個不能算作靜態方法,應該是實例方法  回復  更多評論
            
          主站蜘蛛池模板: 新民市| 青川县| 玉龙| 贡山| 体育| 广宁县| 阿拉善右旗| 道孚县| 清水河县| 赤水市| 甘德县| 土默特左旗| 霸州市| 新竹县| 通渭县| 湾仔区| 镶黄旗| 金昌市| 大竹县| 乐昌市| 大余县| 林甸县| 法库县| 工布江达县| 巴楚县| 大冶市| 喀喇沁旗| 乳源| 宝应县| 安康市| 无为县| 威远县| 长海县| 石城县| 青神县| 高雄县| 尚义县| 汤原县| 牡丹江市| 临江市| 遂昌县|