日期:2014-05-16 浏览次数:20635 次
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JS格式化工具,js在线格式化工具,javascript格式化 - web标准化,div教程,DIV+CSS布局,web2.0标准</title>
<meta name="keywords" content="JS格式化工具,js在线格式化工具,javascript格式化"/>
<meta name="description" content="js格式化工具可以将javascript/JS代码转换为格式排版格式或压缩格式"/>
<link href="/css2008/layout.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/css2008/func.js"></script>
</head>
<body>
<div id="mainContent">
<div id="content">
<div class="mainpanel">
<div style=" padding:10px;">
<h2 style="text-align:center; padding:5px;">JS格式化工具—可将js代码格式化成经典或微软排版格式,也可将js进行压缩</h2>
<SCRIPT language=JavaScript>
<!--
function CLASS_FORMAT(code) {
//哈希表类
function Hashtable() {
this._hash=new Object();
this.add=function (key,value) {
if(typeof(key)!="undefined") {
if(this.contains(key)==false) {
this._hash[key]=typeof(value)=="undefined"?null:value;
return true;
}else {
return false;
}
}else {
return false;
}
}
this.remove=function (key) {
delete this._hash[key];
}
this.count=function () {
var i=0;
for(var k in this._hash) {
i++;
}return i;
}
this.items=function (key) {
return this._hash[key];
}
this.contains=function (key) {
return typeof(this._hash[key])!="undefined";
}
this.clear=function () {
for(var k in this._hash) {
delete this._hash[k];
}
}
}
this._caseSensitive=true;
//字符串转换为哈希表
this.str2hashtable=function (key,cs) {
var _key=key.split(/,/g);
var _hash=new Hashtable();
var _cs=true;
if(typeof(cs)=="undefined"||cs==null) {
_cs=this._caseSensitive;
}else {
_cs=cs;
}
for(var i in _key) {
if(_cs) {
_hash.add(_key[i]);
}else {
_hash.add((_key[i]+"").toLowerCase());
}
}
return _hash;
}
//获得需要转换的代码
this._codetxt=code;
if(typeof(syntax)=="undefined") {
syntax="";
}
this._deleteComment=false;
//是否大小写敏感
this._caseSensitive=true;
//可以后面加块语句的关键字
this._blockElement=this.str2hashtable("switch,if,while,try,finally");
//是函数申明
this._function=this.str2hashtable("function");
//本行括号内分号不做换行
this._isFor="for";
this._choiceElement=this.str2hashtable("else,catch");
this._beginBlock="{";
this._endBlock="}";
this._singleEyeElement=this.str2hashtable("var,new,return,else,delete,in,case");
//得到分割字符
this._wordDelimiters=" ,.?!;:\\/<>() {}[]\"'\r\n\t=+-|*%@#$^&";
//引用字符
this._quotation=this.str2hashtable("\",'");
//行注释字符
this._lineComment="//";
//转义字符
this._escape="\\";
//多行引用开始
this._commentOn="/*";
//多行引用结束
this._commentOff="*/";
//行结束词
this._rowEnd=";";
this._in="in";
this.isCompress=false;
this.style=0;
this._tabNum=0;
this.format=function () {
var codeArr=new Array();
var word_index=0;
var htmlTxt=new Array();
if(this.isCompress) {
this._deleteComment=true;
}
//得到分割字符数组(分词)
for(var i=0;i<this._codetxt.length;i++) {
if(this._wordDelimiters.indexOf(this._codetxt.charAt(i))==-1) {
//找不到关键字
if(codeArr[word_index]==null||typeof(codeArr[word_index])=='undefined') {
codeArr[word_index]="";
}
codeArr[word_index]+=this._codetxt.charAt(i);
}else {
if(typeof(codeArr[word_index])!='undefined'&&codeArr[word_index].length>0)
word_index++;
codeArr[word_index++]=this._codetxt.charAt(i);
}
}
var quote_opened=false;
//引用标记
var slash_star_comment_opened=false;
//多行注释标记
var slash_slash_comment_opened=false;
//单行注释标记
var line_num=1;
//行号
var quote_char="";
//引用标记类型
var function_opened=false;
var bracket_open=false;
var for_open=false;
//按分割字,分块