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 閱讀(2806) 評論(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琥珀
          其實這個不能算作靜態方法,應該是實例方法  回復  更多評論
            
          主站蜘蛛池模板: 宣威市| 新源县| 吉林市| 昭觉县| 东城区| 五家渠市| 蒙山县| 宜川县| 赞皇县| 阳信县| 西平县| 陕西省| 安义县| 武冈市| 新化县| 南漳县| 镇康县| 石首市| 盐池县| 翁源县| 江永县| 无棣县| 大兴区| 陇西县| 泸州市| 普兰店市| 侯马市| 文山县| 奉化市| 留坝县| 平阳县| 黎平县| 杭锦旗| 罗平县| 拜泉县| 商水县| 拉孜县| 布尔津县| 兰坪| 神池县| 蒙城县|