js格式化,【原创】 JS脚本 格式化 着色 工具

代码来源网络,对其进行了整合:
将下述代码另存为 *.HTA 后双击执行即可! Enjoy!
##########################################################

Javascript代码格式化与着色--By knityster

<>
self.resizeTo(560,420); //改变大小
//self.moveTo(screen.availWidth-900,200); //改变位置
// javascript format script
// copyright Stephen Chapman 8th June 2005
// for use _disibledevent=>
var kw = ['abstract', 'as', 'boolean', 'break', 'byte', 'case', 'catch', 'char', 'class', 'const', 'continue', 'default', 'delete', 'do', 'double', 'else', 'enum', 'export', 'extends', 'false', 'final', 'finally', 'float', 'for', 'function', 'goto', 'if', 'implements', 'import', 'in', 'instanceof', 'int', 'interface', 'long', 'namespace', 'native', 'new', 'null', 'package', 'private', 'protected', 'public', 'return', 'short', 'static', 'super', 'switch', 'synchronized', 'this', 'throw', 'throws', 'transient', 'true', 'try', 'typeof', 'use', 'var', 'void', 'volatile', 'while', 'with'];
var ob = ['Anchor', 'anchors', 'Applet', 'applets', 'Area', 'Array', 'Body', 'Button', 'Checkbox', 'Date', 'document', 'FileUpload', 'Form', 'forms', 'Frame', 'frames', 'Hidden', 'History', 'history', 'Image', 'images', 'Layer', 'layers', 'Link', 'links', 'location', 'Math', 'MimeType', 'mimeTypes', 'navigator', 'Number', 'Option', 'options', 'Password', 'Plugin', 'plugins', 'Radio', 'RegExp', 'Reset', 'screen', 'Script', 'Select', 'String', 'Style', 'StyleSheet', 'Submit', 'Text', 'Textarea', 'window'];
var sym = '-+*<=>?:&|/!%';
function JSfmt(s) {
this.i = this.r = this.lvl = this.pr = 0;
this.row = [''];
this.lW = this.nC = this.pC = '';
this.decode = function() {
s = s.replace(/(\r\n|\r|\n)/g, '\n');
while (this.i < s.length) { var c = s.charAt(this.i); if (s.length - 1 == this.i) this.nC = ''; else this.nC = s.charAt(this.i + 1);
if (/\w/.test(c)) {if (this.lW) this.lW += c; else this.lW = c; this.row[this.r] += c; } else switch (c) {
case '\n': break;
case ' ': case '\t': this.hl(); this.row[this.r] += ' '; break;
case '.': this.hl(); this.row[this.r] += '.'; break;
case '{': this.hl(); var currentLine = this.row[this.r]; if (currentLine.length) {var lastChar = currentLine[currentLine.length - 1]; if (lastChar != ' ' && lastChar != '\t') this.row[this.r] += ' {'; else this.row[this.r] += '{';} else this.row[this.r] += '{'; this.lvl++; this.wl(); break;
case '}': this.hl(); this.lvl--; this.row[this.r] += '}'; this.wl(); break;
case ';': this.hl(); this.row[this.r] += '; '; if (this.pr == 0) this.wl(); break;
case '(': this.pr++; this.hl(); this.row[this.r] += '('; break;
case ')': this.pr--; this.hl(); this.row[this.r] += ')'; break;
case '"': case "'": this.hl(); var escaped = false; this.row[this.r] += '"literal">' + c; while (this.i < s.length - 1) {this.i++; var ch = s.charAt(this.i); if (ch == '\\') escaped = !escaped; if (ch == '&') ch = '&'; if (ch == '<') ch = '<'; if (ch == '>') ch = '>'; this.row[this.r] += ch; if (c == ch && !escaped) {this.row[this.r] += '<\/span>';break;} if (ch != '\\') escaped = false;} this.row[this.r] += '<\/span>'; break;
case '/': if ('/' == this.nC) {this.row[this.r] += 'class="comment">//'; this.i++; while (this.i < s.length - 1) {this.i++; var c = s.charAt(this.i); if (c == '&') c = '&'; if (c == '<') c = '<'; if (c == '>') c = '>'; if (c == '\n') { this.row[this.r] += '<\/span>'; this.wl();break;} this.row[this.r] += c;}} else if (this.nC == '*') {this.row[this.r] += '/*'; this.i++; var c = ''; var prevC = ''; while (this.i < s.length - 1) {this.i++; prevC = c; c = s.charAt(this.i); if (c ==' ' || c == '\t' || c == '\n') {if (c == ' ') {if (this.row[this.r]) this.row[this.r] += ' ';} else if (c == '\t') {if (this.row[this.r]) this.row[this.r] += '   ';} else if (c == '\n') this.wl();} else this.row[this.r] += c; if (c == '/' && prevC == '*') {this.row[this.r] += '<\/span>'; break;}} this.wl();} else if (this.lW) {this.hl(); if (this.nC == '=') this.row[this.r] += ' /'; else this.row[this.r] += ' / ';} else if (this.pC == '*') this.row[this.r] += '/ '; else {if (this.pC == '=') this.row[this.r] += ' /'; else this.row[this.r] += '/'; while (this.i < s.length - 1) {this.i++; var c = s.charAt(this.i); if (c == '(') this.pr++; if (c == ')') this.pr--; if (c == '\\') escaped = !escaped; this.row[this.r] += c; if (c == ';' && this.pr == 0) {this.wl(); break;} if (c =='/') if (!escaped) break; if (c != '\\') escaped = false;}} break;
case ',': this.hl(); this.row[this.r] += ', '; break;
case '-': case '+': case '*': case '%': case '<': case '=': case '>': case '?': case ':': case '&': case '|': case '!': this.hl(); if (c == '!' && this.nC != '=') {this.row[this.r] += c; break;} if (c == ':' && this.pC == "'") {this.row[this.r] += c; break;} if (c == '+' || c == '-') if (c == this.nC || c == this.pC) {this.row[this.r] += c; break;} if (sym.indexOf(this.pC) != -1) {if (sym.indexOf(this.nC) != -1) this.row[this.r] += c; else this.row[this.r] += c + ' ';} else {if (sym.indexOf(this.nC) != -1) this.row[this.r] += ' ' + c; else this.row[this.r] += ' ' + c + ' ';} break;
default: this.hl(); this.row[this.r] += c; break;}
if (!/\w/.test(c)) if (c != ' ' && c != '\t') {this.hl(); this.lW = '';}
this.pC = c; this.i++;}
return this.row.join('
');}
this.hl = function() { if (this.lW && kw.indexOf(this.lW) != -1) {this.row[this.r] = this.row[this.r].substr(0,this.row[this.r].lastIndexOf(this.lW)) + 'class="keyword">' + this.lW + '<\/span>'; this.lW = '';} else if (this.lW && ob.indexOf(this.lW) != -1) {this.row[this.r] = this.row[this.r].substr(0,this.row[this.r].lastIndexOf(this.lW)) + 'class="object">' + this.lW + '<\/span>'; this.lW = '';}}
this.wl = function() {this.row.push(''); this.r++; var i = 0; while (i < this.lvl) {this.row[this.r] += '   '; i++;}}
}
if (typeof Array.prototype.indexOf == 'undefined') {Array.prototype.indexOf = function(item) {for (var i = 0; i < this.length; i++) {if ((typeof this[i] == typeof item) && (this[i] == item)) {return i;}}return -1;}}
function decode() {var jsformat = new JSfmt(document.getElementById('in').value); res(jsformat.decode());}
function res(t) {var mh = screen.height-150; var mw = screen.width-20; TheResWin = window.open('','format','height=' + mh + ',width=' + mw + ',toolbar=no,directories=no,status=no,' + 'menubar=no,scrollbars=yes,resizable=yes'); TheResWin.document.write('\nResults<\/title><style type="text/css">#out {font: normal 10pt Courier,"Courier New",monospace; background: #f5f5f5;}\n.keyword {color:#0000ff;}\n.object {color:#ff00ff;}\n.literal {color:#cc9966;}\n.comment {color:#999999;}\n</style><\/head>\n<body >right"><a href="#" _disibledevent=>self.close();return false;"><\/a><\/p>out">'+t+' <div> </div> <div id="entry-tags"><span>Tags:</span>  </div> <script language="javascript"> showSns(); </script> <h3 class="related_post_title">延伸阅读</h3> <ul class="related_post"> </ul> </div> </div> <div class="list-y"> <ul class="list"> </ul> </div> <div id="comments"><a name="comment"></a> <h3 id="comments-title">最新评�</h3> <ol class="commentlist"> </ol> <div> </div> </div> <div id="respond"> <h3 id="reply-title">发表评论</h3> <form id="formCmt" method="post" onsubmit="return saveComment();"> <label for="author">昵称</label> <input id="txtUserName" name="txtUserName" type="text" value="" size="30"><br /> <label for="comment">评论</label><textarea id="txtContent" name="txtContent" cols="45" rows="8" aria-required="true"></textarea><br /> <label for="comment">验证�</labe><input type="text" id="txtCode" style="width:40px" name="txtCode" onfocus="showCode('imgArtCode')" /> <img id="imgArtCode" style="display:none" />点击图片更换 <input type="hidden" id="txtArticleID" value="167278" /></li> <p class="form-submit"> <input name="submit" type="submit" id="submit" value="发布评论"> <input type="reset" value="重写" /> </p> </form> </div> </div> </div><!--end #container--> <div id="sidebar"> <div id="top-sidebar"> <div class="widget widget_text"> <h3 class="widget-title">赞助商广�</h3> <div class="textwidget"> </div> </div> <div class="widget widget_text"> <h3 class="widget-title">随机更新</h3> <div class="textwidget"> <ul class="artlist"> <li><a href="/Review-it/Article195890.html" target="_blank">App Store 排名算法调整背后</a></li> <li><a href="/Internet/Article195882.html" target="_blank">云计�,云计算投资被指变相占土地 专家称需去伪存真</a></li> <li><a href="/Review-it/Article195874.html" target="_blank">gdrive,千呼万唤始出� Google GDrive将于4月初正式推出</a></li> <li><a href="/Internet/Article195891.html" target="_blank">Flipboard iPhone中文版试用:翻开社交杂志</a></li> <li><a href="/Bo-abstracts-selected/Article195883.html" target="_blank">demo什么意�,Y Combinator Demo Day:移动互联网唱主�</a></li> <li><a href="/Review-it/Article195875.html" target="_blank">海底大鱼吃小�,小鱼大营救:上周小鸟上太�,本周小鱼下海�</a></li> <li><a href="/Internet/Article195867.html" target="_blank">其实Lumia 900裸机价不�3000�</a></li> <li><a href="/Internet/Article195895.html" target="_blank">Appolicious应用搜索引擎:投放更精准的广�</a></li> <li><a href="/Review-it/Article195887.html" target="_blank">新ipad充电,关于新iPad充电的一些误�</a></li> <li><a href="/Review-it/Article195879.html" target="_blank">android,切记千万不要购买便宜Android�</a></li> <li><a href="/Internet/Article195871.html" target="_blank">Sprint称将为下代iPhone提供4G网络</a></li> <li><a href="/Internet/Article195896.html" target="_blank">类Pinterest服务开心集品上� 不将导购作为重点</a></li> <li><a href="/Internet/Article195888.html" target="_blank">发改�,新书限折令二度报批发改委 电商期望获区别对�</a></li> <li><a href="/Review-it/Article195880.html" target="_blank">浸入式教�,互联网如何浸入我们的生活</a></li> <li><a href="/Internet/Article195872.html" target="_blank">令人愉悦�,JavaScript 是一门令人愉悦的语言</a></li> <li><a href="/Internet/Article195889.html" target="_blank">风投去年50亿美元砸向电商:IPO成双刃剑</a></li> <li><a href="/Review-it/Article195881.html" target="_blank">vc垂直滚动�,传VC弃移动互联网 重金砸向垂直领域</a></li> <li><a href="/Review-it/Article195873.html" target="_blank">短趣:基于移动情境的兴趣生活社区</a></li> <li><a href="/Internet/Article195892.html" target="_blank">dealrank,Dealupa:用 DealRank 来为团购项目排序</a></li> <li><a href="/Review-it/Article195884.html" target="_blank">刷钻平台,乐刷发布2.0版本,支持移动平台和PC,定价70�</a></li> <li><a href="/Internet/Article195876.html" target="_blank">TriggerHappy:用手机控制单反</a></li> <li><a href="/Internet/Article195868.html" target="_blank">请不要购买廉价Android手机</a></li> <li><a href="/Bo-abstracts-selected/Article195893.html" target="_blank">Facebook隐私迷局:密码是给还是不�?</a></li> <li><a href="/Review-it/Article195885.html" target="_blank">拼图图片,VideoPuzzle: 图片无法展现的拼图新玩法</a></li> <li><a href="/DataBase/Article195877.html" target="_blank">oracle认证,Oracle认证体系</a></li> <li><a href="/Internet/Article195869.html" target="_blank">24券团购网倒闭,聚焦团购网倒闭� 团宝网总部人去楼空</a></li> <li><a href="/Internet/Article195894.html" target="_blank">噬菌体侵染细�,人体内噬菌体攻击细菌画面似外星生命登陆月�</a></li> <li><a href="/Review-it/Article195886.html" target="_blank">demo什么意�,Y Combinator Demo Day:第一组介�</a></li> <li><a href="/Internet/Article195878.html" target="_blank">58同城,58同城被曝资金链吃� 代理商揭其渠道矛�</a></li> <li><a href="/Internet/Article195870.html" target="_blank">苹果:新iPad充满电后继续充是好习�</a></li> </ul> </div> </div> <div class="widget widget_text"> <h3 class="widget-title">热门标注</h3> <div class="textwidget"> <ul class="tags"> <a href="/Tag/Cottage-phone-manufacturers-243910/Index.html">山寨手机厂商</a>(1) <a href="/Tag/Mosaic-Map-243909/Index.html">马赛克拼图贴�</a>(1) <a href="/Tag/MaSaiKePinTuZhuanJia-243908/Index.html">马赛克拼图专�</a>(1) <a href="/Tag/Glass-mosaic-243907/Index.html">玻璃马赛克拼�</a>(1) <a href="/Tag/Mosaic-software-243906/Index.html">马赛克拼图软�</a>(1) <a href="/Tag/MaSaiKePinTu-243905/Index.html">马赛克拼�</a>(1) <a href="/Tag/From-bad-to-worse-sentence-243904/Index.html">每况愈下造句</a>(1) <a href="/Tag/MeiKuangYuXiaDeJinYiCi-243903/Index.html">每况愈下的近义词</a>(1) <a href="/Tag/ZhuZhuMaoXiTongXiaZai-243902/Index.html">猪猪猫系统下�</a>(1) <a href="/Tag/Pig-cat-win7-243901/Index.html">猪猪猫win7</a>(1) <a href="/Tag/ZhuZhuMaoXiTong-243900/Index.html">猪猪猫系�</a>(1) <a href="/Tag/ZhuZhuMaoLunTan-243899/Index.html">猪猪猫论�</a>(1) <a href="/Tag/ZhuZhuMao-243898/Index.html">猪猪�</a>(1) <a href="/Tag/ChengDuhtcZhuanMaiDian-243897/Index.html">成都htc专卖�</a>(1) <a href="/Tag/Htc-store-in-Hangzhou-243896/Index.html">杭州htc专卖�</a>(1) <a href="/Tag/Shanghai-htc-store-243895/Index.html">上海htc专卖�</a>(1) <a href="/Tag/htcShouJiZhuanMaiDian-243894/Index.html">htc手机专卖�</a>(1) <a href="/Tag/htcZhuanMaiDian-243893/Index.html">htc专卖�</a>(1) <a href="/Tag/Zhao-Ziqi-Chunguangwaixie-243892/Index.html">赵子琪春光外�</a>(1) <a href="/Tag/AnZhuoKaiFaZheZhuCe-243891/Index.html">安卓开发者注�</a>(1) </ul> </div> </div> <div class="widget widget_text"> <h3 class="widget-title">最近更�</h3> <div class="textwidget"> <ul class="artlist"> <li><a href="/Bo-abstracts-selected/Article197516.html" target="_blank">Google TV被大�"忽视 是失�,还是阴谋?</a></li> <li><a href="/Bo-abstracts-selected/Article197515.html" target="_blank">Google I/O大会轰动全场的Glass Demo视频是怎么来的?</a></li> <li><a href="/Bo-abstracts-selected/Article197514.html" target="_blank">Safari杀手:iOS � Google Chrome 上手评测(视频)</a></li> <li><a href="/Bo-abstracts-selected/Article197513.html" target="_blank">产品经理需要的软件工具</a></li> <li><a href="/Bo-abstracts-selected/Article197512.html" target="_blank">深圳福永机房简�</a></li> <li><a href="/Bo-abstracts-selected/Article197511.html" target="_blank">深圳鸿波机房简�</a></li> <li><a href="/Bo-abstracts-selected/Article197510.html" target="_blank">Google新品来袭 意图打造多设备平台应用社区</a></li> <li><a href="/Bo-abstracts-selected/Article197507.html" target="_blank">2012年互联网新趋势:视觉网络</a></li> <li><a href="/Bo-abstracts-selected/Article197505.html" target="_blank">Web App或夭�,Hybrid App才是新世界的�</a></li> <li><a href="/Bo-abstracts-selected/Article197503.html" target="_blank">雷锋读图:图解iPhone五年来走过的风雨历程</a></li> <li><a href="/Bo-abstracts-selected/Article197502.html" target="_blank">体感操作美食应用Gilt Taste:解放双� 烹饪利器</a></li> <li><a href="/Bo-abstracts-selected/Article197501.html" target="_blank">视觉设计师的App优化指南</a></li> <li><a href="/Bo-abstracts-selected/Article197486.html" target="_blank">外媒中国社交网络报告:崛起迅� 前景无限</a></li> <li><a href="/Bo-abstracts-selected/Article197485.html" target="_blank">《纽约时报》中文网站今日正式上� 欲进军中国市�</a></li> <li><a href="/Bo-abstracts-selected/Article197484.html" target="_blank">2012年半程最佳Android应用盘点</a></li> <li><a href="/Bo-abstracts-selected/Article197483.html" target="_blank">Nexus 7、Kindle Fire、Nook、Galaxy Tab四大平板PK</a></li> <li><a href="/Bo-abstracts-selected/Article197480.html" target="_blank">对于Nexus 7的合� 华硕和Google高层想说�?</a></li> <li><a href="/Bo-abstracts-selected/Article197479.html" target="_blank">对Chrome正式登录Android平台的一些思�</a></li> <li><a href="/Bo-abstracts-selected/Article197478.html" target="_blank">Google Now个性化自动搜索: 前景广阔 保护用户隐私是关�</a></li> <li><a href="/Bo-abstracts-selected/Article197477.html" target="_blank">超极本逆袭无望?</a></li> </ul> </div> </div> <div class="widget widget_text"> <h3 class="widget-title">最新标�</h3> <div class="textwidget"> <ul class="tags"> <a href="/Tag/Cottage-phone-manufacturers-243910/Index.html">山寨手机厂商</a>(1) <a href="/Tag/Mosaic-Map-243909/Index.html">马赛克拼图贴�</a>(1) <a href="/Tag/MaSaiKePinTuZhuanJia-243908/Index.html">马赛克拼图专�</a>(1) <a href="/Tag/Glass-mosaic-243907/Index.html">玻璃马赛克拼�</a>(1) <a href="/Tag/Mosaic-software-243906/Index.html">马赛克拼图软�</a>(1) <a href="/Tag/MaSaiKePinTu-243905/Index.html">马赛克拼�</a>(1) <a href="/Tag/From-bad-to-worse-sentence-243904/Index.html">每况愈下造句</a>(1) <a href="/Tag/MeiKuangYuXiaDeJinYiCi-243903/Index.html">每况愈下的近义词</a>(1) <a href="/Tag/ZhuZhuMaoXiTongXiaZai-243902/Index.html">猪猪猫系统下�</a>(1) <a href="/Tag/Pig-cat-win7-243901/Index.html">猪猪猫win7</a>(1) <a href="/Tag/ZhuZhuMaoXiTong-243900/Index.html">猪猪猫系�</a>(1) <a href="/Tag/ZhuZhuMaoLunTan-243899/Index.html">猪猪猫论�</a>(1) <a href="/Tag/ZhuZhuMao-243898/Index.html">猪猪�</a>(1) <a href="/Tag/ChengDuhtcZhuanMaiDian-243897/Index.html">成都htc专卖�</a>(1) <a href="/Tag/Htc-store-in-Hangzhou-243896/Index.html">杭州htc专卖�</a>(1) <a href="/Tag/Shanghai-htc-store-243895/Index.html">上海htc专卖�</a>(1) <a href="/Tag/htcShouJiZhuanMaiDian-243894/Index.html">htc手机专卖�</a>(1) <a href="/Tag/htcZhuanMaiDian-243893/Index.html">htc专卖�</a>(1) <a href="/Tag/Zhao-Ziqi-Chunguangwaixie-243892/Index.html">赵子琪春光外�</a>(1) <a href="/Tag/AnZhuoKaiFaZheZhuCe-243891/Index.html">安卓开发者注�</a>(1) </ul> </div> </div> </div> </div> </div> <!--end #main--> <div id="footer"> <div class="clear"></div> <div class="bottom"> <div><img src="/images/bottom.jpg" /></div> <div class="left"> © 2010 <a href="http:// CrazyCoder.cn/" title=" 疯狂代码� | CrazyCoder.cn" rel="home">疯狂代码� | CrazyCoder.cn</a>. All rights reserved. <a href="http://validator.w3.org/check?uri=referer" target="_blank">XHTML</a> / <a href="http://jigsaw.w3.org/css-validator/check?uri=referer" target="_blank">CSS</a> Valid. </div> <div class="right"> <script type="text/javascript"> var _bdhmProtocol = (("https:" == document.location.protocol) ? " http://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Fcfbb14fb673f0906a6a464d3f9f3c7fb' type='text/javascript'%3E%3C/script%3E")); </script> <script src="http://s5.cnzz.com/stat.php?id=1135864&web_id=1135864&show=pic1" language="JavaScript"></script> </div> <div class="clear"></div> </div> <div class="clear"></div> </div> </div> </body> </html>