var BaseSb=new StringBuilder(); StringBuilder 无效的Object

解决方案 »

  1.   

    JS中有StringBuilder吗?得自己加吧!
    var   StringBuilder   =   function(){
            this._buffer         =   [];
            this._arg1           =   " ";
            this._arg2           =   " ";
            if   (arguments.length   >   0)   this._arg1   =   String(arguments[0]);
            if   (arguments.length   >   1)   this._arg2   =   String(arguments[1]);
    }
    StringBuilder.prototype.Append   =   function(str){
            this._buffer[this._buffer.length]   =   String(str);
    }
    StringBuilder.prototype.toString   =   function(){
            return   (this._arg2?this._arg1: " ")   +   this._buffer.join(this._arg2   +   this._arg1)   +   this._arg2;
    }
    StringBuilder.prototype.clear   =   function(){
            this._buffer   =   [];

      

  2.   

    <body> 
    <span id="boxs"> </span> <br> <br> <br> <br> 
    <a href="javascript:RefreshList();"> RefreshList </a> <br> <br> 
    <!--Response.Write(" <script  language=javascript>alert('"+urlKey+"') </script>");--> 
    <script> 
    function StringBuilder() {
    this.string = new Array();
    }StringBuilder.prototype.Append = function(str) {
    this.string.push(str);
    };StringBuilder.prototype.toString = function() {
    return this.string.join("");
    };  var urlKey = 'occIDList=600&occParentIDList=600&myLocIDList=30000&myLocParentIDList=30000&companyTypeIDList=&isInterView=1&prj=quick&sj=1'; function RefreshList(){ 
    //alert(urlKey); 
    //$("#dvAD").hide(); 
    //alert(urlKey); 
    //document.getElementById("dvSummary").innerHTML=" <h5>正在加载,请稍候…… </h5>"; 
    //document.getElementById("dvTitle").innerHTML=" <h5>正在加载,请稍候…… </h5>"; 
    //purge(document.getElementById("dvSummary")); 
    //$("#chkAllTop")[0].checked=false; 
    //$("#chkAllBott")[0].checked=false; checkedIndex=","; 
    alert(urlKey); 
    var BaseSb=new StringBuilder(); 
    BaseSb.Append((urlKey)); 
    BaseSb.Append("&curPage="); 
    //BaseSb.Append(curPage); 
    BaseSb.Append("&pageSize="); 
    //BaseSb.Append(pageSize); 
    BaseSb.Append("&recordCount="); 
    //BaseSb.Append(recordCount); 
    BaseSb.Append("&orderField="); 
    //BaseSb.Append(orderField); 
    BaseSb.Append("&order="); 
    //BaseSb.Append(order); 
    alert(BaseSb); 
    var BaseStr=base64encode(BaseSb.toString()); 
    var httpurl=new StringBuffer(); 
    httpurl.Append("/GetSearchResult.awp?"); 
    httpurl.Append("jtq=onlyrecord"); 
    httpurl.Append("&urlKey="); 
    httpurl.Append(BaseStr); } 
    </script> 
    <script> </script> 
    </body> 
      

  3.   

    那如果是这样呢?
    alert(BaseStr);这一句为什么执行不了?
    <body> 
    <span id="boxs"></span> <br><br><br><br>
    <a href="javascript:RefreshList();"> RefreshList</a><br><br>
    <!--Response.Write("<script   language=javascript>alert('"+urlKey+"')</script>");-->
    <script> 
    var urlKey = 'occIDList=600&occParentIDList=600&myLocIDList=30000&myLocParentIDList=30000&companyTypeIDList=&isInterView=1&prj=quick&sj=1';function StringBuilder() { 
    this.string = new Array(); 
    } StringBuilder.prototype.Append = function(str) { 
    this.string.push(str); 
    }; StringBuilder.prototype.toString = function() { 
    return this.string.join(""); 
    };  function RefreshList(){
    //alert(urlKey);
    //$("#dvAD").hide();
    //alert(urlKey);
    //document.getElementById("dvSummary").innerHTML="<h5>正在加载,请稍候……</h5>";
    //document.getElementById("dvTitle").innerHTML="<h5>正在加载,请稍候……</h5>";
    //purge(document.getElementById("dvSummary"));
    //$("#chkAllTop")[0].checked=false;
    //$("#chkAllBott")[0].checked=false;

    checkedIndex=",";
    //alert(urlKey);
    var BaseSb=new StringBuilder();
    BaseSb.Append((urlKey));
    BaseSb.Append("&curPage=2");
    //BaseSb.Append(curPage);
    BaseSb.Append("&pageSize=20");
    //BaseSb.Append(pageSize);
    BaseSb.Append("&recordCount=2000");
    //BaseSb.Append(recordCount);
    BaseSb.Append("&orderField=");
    //BaseSb.Append(orderField);
    BaseSb.Append("&order=DESC");
    //BaseSb.Append(order);
    alert(BaseSb);
    alert(BaseSb.toString());
    var BaseStr=base64encode(BaseSb.toString());
    alert(BaseStr);
    var httpurl=new StringBuilder();
    httpurl.Append("/GetSearchResult.awp?");
    httpurl.Append("jtq=onlyrecord");
    httpurl.Append("&urlKey=");
    httpurl.Append(BaseStr);

    }function base64encode(Str){
    Str=escape(Str);
    var output="";
    var chr1,chr2,chr3="";
    var enc1,enc2,enc3,enc4="";
    var i=0;
    do{
    chr1=Str.charCodeAt(i++);
    chr2=Str.charCodeAt(i++);
    chr3=Str.charCodeAt(i++);
    enc1=chr1>>2;
    enc2=((chr1&3)<<4)|(chr2>>4);
    enc3=((chr2&15)<<2)|(chr3>>6);
    enc4=chr3&63;
    if(isNaN(chr2)){
    enc3=enc4=64;
    }
    else if(isNaN(chr3)){
    enc4=64;
    } output=output+keyStr.charAt(enc1)+keyStr.charAt(enc2)+keyStr.charAt(enc3)+keyStr.charAt(enc4); chr1=chr2=chr3="";
    enc1=enc2=enc3=enc4="";
    }
    while(i<Str.length);
    return output;
    }
    </script> 
    <script> </script>
      

  4.   

    自己得学会测试呀,
    <body> 
    <span id="boxs"> </span> <br> <br> <br> <br> 
    <a href="javascript:RefreshList();"> RefreshList </a> <br> <br> 
    <!--Response.Write(" <script  language=javascript>alert('"+urlKey+"') </script>");--> 
    <script> 
    var urlKey = 'occIDList=600&occParentIDList=600&myLocIDList=30000&myLocParentIDList=30000&companyTypeIDList=&isInterView=1&prj=quick&sj=1'; function StringBuilder() { 
    this.string = new Array(); 
    } StringBuilder.prototype.Append = function(str) { 
    this.string.push(str); 
    }; StringBuilder.prototype.toString = function() { 
    return this.string.join(""); 
    };  function RefreshList(){ 
    //alert(urlKey); 
    //$("#dvAD").hide(); 
    //alert(urlKey); 
    //document.getElementById("dvSummary").innerHTML=" <h5>正在加载,请稍候…… </h5>"; 
    //document.getElementById("dvTitle").innerHTML=" <h5>正在加载,请稍候…… </h5>"; 
    //purge(document.getElementById("dvSummary")); 
    //$("#chkAllTop")[0].checked=false; 
    //$("#chkAllBott")[0].checked=false; checkedIndex=","; 
    //alert(urlKey); 
    var BaseSb=new StringBuilder(); 
    BaseSb.Append((urlKey)); 
    BaseSb.Append("&curPage=2"); 
    //BaseSb.Append(curPage); 
    BaseSb.Append("&pageSize=20"); 
    //BaseSb.Append(pageSize); 
    BaseSb.Append("&recordCount=2000"); 
    //BaseSb.Append(recordCount); 
    BaseSb.Append("&orderField="); 
    //BaseSb.Append(orderField); 
    BaseSb.Append("&order=DESC"); 
    //BaseSb.Append(order); 
    alert(BaseSb); 
    alert(BaseSb.toString()); 
    var BaseStr=base64encode(BaseSb.toString()); 
    alert(BaseStr); 
    var httpurl=new StringBuilder(); 
    httpurl.Append("/GetSearchResult.awp?"); 
    httpurl.Append("jtq=onlyrecord"); 
    httpurl.Append("&urlKey="); 
    httpurl.Append(BaseStr); } function base64encode(Str){ 
    Str=escape(Str); 
    var output=""; 
    var chr1,chr2,chr3=""; 
    var enc1,enc2,enc3,enc4=""; 
    var i=0; 
    do{ 
    chr1=Str.charCodeAt(i++); 
    chr2=Str.charCodeAt(i++); 
    chr3=Str.charCodeAt(i++); 
    enc1=chr1>>2; 
    enc2=((chr1&3)<<4)|(chr2>>4); 
    enc3=((chr2&15)<<2)|(chr3>>6); 
    enc4=chr3&63; 
    if(isNaN(chr2)){ 
    enc3=enc4=64; 

    else if(isNaN(chr3)){ 
    enc4=64; 
    } output=output+Str.charAt(enc1)+Str.charAt(enc2)+Str.charAt(enc3)+Str.charAt(enc4); chr1=chr2=chr3=""; 
    enc1=enc2=enc3=enc4=""; 

    while(i <Str.length); 
    return output; 

    </script> 
    <script> </script>