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

王朝html/css/js·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

µ±È»²»ÊÇͨÓÃÀ²¡£¡£

ÀýÈçÈç¹ûÔÚ""ÀïÃæÓÐ"{"ÄÇô¾ÍÂÒÁË¡£¡£

<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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航