简单的脚本帮你编排JScript程序中的缩进

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 lostinet 的 blog

µ±è»²»êçí¨óãಡ£¡£
àýèçèç¹ûôú""àïãæóð"{"äçã´¾íâòáë¡£¡£


 


<textarea cols=64 rows=24 id=ta>
</textarea>
<hr>
<button onclick="trans()">trans</button>
<script>
function trans()
{
 var res=_trans(ta.value)
 ta.value=res;
}
function _trans(str)
{
 str=str.replace(/\r\n(\s)+/g,"\r\n");
 var arrres=new array();
 var arr=str.split("\r\n");
 var count=0;
 arrres[arrres.length]=arr[0];
 for(var i=1;i<arr.length-1;i++)
 {
  var p=(i*100/arr.length+"");
  status=math.floor(p)+1+"%";
  count+=getcount(arr[i-1]);
  var c=count;
  if(arr[i].indexof("case")==0)c--;
  if(arr[i].indexof("}")==0)c--;
  if(arr[i].indexof("{")!=0)
  {
   if(arr[i-1].indexof("if")==0)c++;
   if(arr[i-1].indexof("else")==0)c++;
   if(arr[i-1].indexof("while")==0)c++;
   if(arr[i-1].indexof("do")==0)c++;
   if(arr[i-1].indexof("for")==0)c++;
  }
  arrres[arrres.length]=tabs(c)+arr[i]+"\r\n";


 }
 arrres[arrres.length]=arr[i];
 return arrres.join("");
}
function tabs(count)
{
 var res="";
 for(var i=0;i<count;i++)
  res+="\t";
 return res;
}
function getcount(str)
{
 var c=0;
 for(var i=0;i<str.length;i++)
 {
  if(str.charat(i)=="{")c++;
  else
  if(str.charat(i)=="}")c--;
 }
 return c;
}
</script>

本文关键:JScript,缩进
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top