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) {//設(shè)置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) { // 異常,創(chuàng)建對象實(shí)例失敗
                          throw new Error("不能創(chuàng)建XMLHttpRequest對象實(shí)例.");
                          
          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("數(shù)據(jù)讀取失敗.");
                              }
                          }
                      };
                      
          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常用靜態(tài)方法類,分享大家
          2009-06-11 00:07 | 杰德。張
          樓主,我是js的初學(xué)者,看懂上面代碼還有些困難,能不能注釋一下給我發(fā)一份,不勝感激!!!zhangjin_2006@126.com  回復(fù)  更多評論
            
          # re: 我寫的javascript常用靜態(tài)方法類,分享大家
          2009-06-11 09:12 | good
          樓主的正則表達(dá)式?jīng)]有引號把,比如
          trim:function(str){
          return str.replace(/(^s+)|(s+$)/g, "");
          }

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

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

          這樣寫主要是想把這些常用的方法封裝成一個(gè)常用類  回復(fù)  更多評論
            
          # re: 我寫的javascript常用靜態(tài)方法類,分享大家
          2009-06-11 15:08 | SIMONE
          對不住大家
          上次提交的時(shí)候,博客系統(tǒng)把我代碼里的\字符全替換成了"
          這次好了  回復(fù)  更多評論
            
          # re: 我寫的javascript常用靜態(tài)方法類,分享大家
          2013-10-11 10:56 | log琥珀
          其實(shí)這個(gè)不能算作靜態(tài)方法,應(yīng)該是實(shí)例方法  回復(fù)  更多評論
            
          主站蜘蛛池模板: 平山县| 乌审旗| 云南省| 汽车| 思茅市| 五大连池市| 定边县| 金秀| 牡丹江市| 濮阳市| 顺义区| 房山区| 高邮市| 无为县| 邳州市| 浦江县| 盐山县| 定西市| 林周县| 新野县| 静安区| 朔州市| 江口县| 南陵县| 木里| 夹江县| 唐海县| 道孚县| 肃宁县| 锦屏县| 娄烦县| 邵阳市| 嘉荫县| 广丰县| 新龙县| 玛多县| 林口县| 杨浦区| 涟水县| 佳木斯市| 夏邑县|