JS代码格式化和语法着色V2

2019-06-03 18:16:39王旭

(index>divJSOutputPlus.buttons.length)return;  for
(var i=index;i<divJSOutputPlus.buttons.length&&i-index<10;i++)divJSOutputPlus.buttons[i].switchDIV
("show");  setTimeout("expandAll("+i+")"); }
function core_analysis()
{  var str=" ", c="", lastState="", seq, intNextQuo
te, intTemp, intCount, intWordStart;  spnProcess.innerHTML=parseFloat
(glbP/glbStr.length*100).toFixed(2)+"%  
( "+glbP+" / "+glbStr.length+" )";  for
(var i=glbP;i<glbStr.length;i++){   c=glbStr.charAt(i);   str+=htmlEncode
(c);   switch(c)
{    case "r": case " ": case "t":
    if(lastState=="rn"){str=" ";break;}
    str=str.substring(0,str.length-htmlEncode(c).length);     if
(lastState=="blank")break;     if(c.match(/W/)&&glbStr.charAt(i-1).match(/
w/)){      str=str.replace(regKW,clKW).replace(regObj,clObj).replace
(regMP,clMP);     }     str+=htmlEncode
(c);     lastState="blank";    break;   &nb
sp;case ";":     if(str.match(/Wfor.*?(/i))
break;     // attention there's no break here   &nbs
p;case "n":     if(lastState=="rn"){str=" ";break;}
    outputLn
(str);     str=" ";     lastState="rn";&
#13;     if(i-glbP>200)
{      glbP=i+1;      glbTimer=setTimeout
(core_analysis);      return;     }
   break;    case """:     
;intNextQuote=i;     while(intNextQuote!=-1&&intNextQuote<glbStr.length)
{      intNextQuote=glbStr.indexOf
(""",intNextQuote+1);      if(intNextQuote==-1||glbStr.charAt(intNextQuote
-1)!="")
break;      intCount=0; intTemp=intNextQuote;      w