您的位置:首页 > Web前端 > JavaScript

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

2002-04-27 15:51 555 查看
µ±È»²»ÊÇͨÓÃÀ²¡£¡£
ÀýÈçÈç¹ûÔÚ""ÀïÃæÓÐ"{"ÄÇô¾ÍÂÒÁË¡£¡£

<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: