JavaScript 在线格式化、压缩与代码分析工具
处理 JavaScript 代码,一个工具够了
不管是格式化压缩、整理 AI 生成的乱码、分析代码复杂度,还是在提交前清除调试语句,这里都能直接搞定。所有操作在浏览器本地完成,不发任何网络请求,代码安全性有保障。
代码复杂度分析
点击「分析」按钮,工具会扫描当前代码并生成一份中文报告,包含函数数量、有效代码行数、最大嵌套深度、最长函数定位、var 声明统计和异步模式判断。嵌套超过 4 层时会给出具体警告,检测到回调地狱特征时提示改用 async/await。
可读性建议
规则库会扫描单字母变量(x、a、tmp)、缺少注释的长函数、eval 和 with 的使用、过深的三元嵌套、残留的 debugger 断点等问题,每条建议都附有行号,点击直接定位。
一键优化操作
- var → let:批量替换所有 var 声明,对比改动一目了然
- 移除调试代码:精确识别并删除
console.log、console.debug和debugger,保留console.error、console.warn - 模板字符串转换:将简单的字符串拼接
'hello ' + name自动改写为`hello ${name}`
ES 版本语法检测
一键检测代码里用到了哪些 ES6 至 ES2022 的新语法特性,包括箭头函数、可选链(?.)、空值合并(??)、async/await、BigInt 等,帮助判断是否需要 Babel 编译降级再交付。
混淆代码识别
如果格式化后代码里充斥大量单字母变量(a、b、c...),分析报告会在顶部标记「此代码可能经过混淆处理」,避免你在无意义的变量名上浪费时间。格式化至少能让控制流结构清晰可见。
使用教程
下面几个常见场景,帮你快速上手各项功能。
1格式化/美化压缩或 AI 生成的代码
function add(a,b){return a+b;}var result=add(1,2);console.log(result);
function add(a, b) {
return a + b;
}
var result = add(1, 2);
console.log(result);
直接粘贴代码,点击「格式化」按钮即可。支持 2 或 4 空格缩进,工具栏下拉菜单切换。格式化前会自动检查语法错误并用中文提示位置。
2压缩 JS 文件,减小体积
// 计算两数之和
function add(a, b) {
return a + b;
}
function add(a,b){return a+b;}
点击「压缩」,去除所有注释和多余空白,生成单行代码。压缩完成后会提示减少了多少体积百分比,适合将处理结果直接内嵌到 HTML 或上传 CDN。
3提交前移除 console.log 和 debugger
function loadData(id) {
debugger;
console.log('loading', id);
return fetch('/api/' + id);
}
function loadData(id) {
return fetch('/api/' + id);
}
点击「移除调试」,精确删除 console.log、console.debug 和所有 debugger 语句。console.error 和 console.warn 会被保留。操作完成后右侧自动切到「改动对比」标签。
提示:对比视图里绿色是保留的行,红色是被删除的内容,确认无误后点「← 应用结果」把修改同步回左侧编辑器。
4分析代码复杂度,定位问题函数
粘贴代码后点击「分析」,右侧切换到「复杂度报告」标签。报告顶部是统计卡片(总行数、函数数量、最大嵌套深度等),下方按严重程度列出各项问题,点击蓝色行号链接可以直接跳转到编辑器对应位置。
嵌套深度说明:超过 4 层的大括号嵌套通常意味着代码可读性较差,可以通过「早期返回」模式或拆分子函数来改善。报告里的「最长函数」列表帮你快速找到需要重构的目标。
5检测 ES 新语法,评估兼容性风险
点击「分析」后切换到「ES版本」标签,工具会列出代码里使用的所有 ES6~ES2022 新特性,并按版本分组显示。如果你的目标环境是 IE11 或旧版 Chrome,看到 ES2020 的特性就需要配置 Babel 或 esbuild 进行编译降级。