JavaScript Beautifier & 在线格式化程序
实时即时格式化、取消缩小和清理杂乱或压缩的 JavaScript (.js / .min.js)。我们的令牌感知 JS 格式化程序可准确处理 ES6+ 箭头函数、模板文字、正则表达式、for 循环、https:// URL 和链式方法调用,并包含用于紧凑生产代码的一键式 JS Minifier。
如何在线美化和缩小JavaScript
- 粘贴您的代码: 将压缩的
.min.js包或未格式化的脚本粘贴到左侧的 Input JavaScript 编辑器中,或单击 Load Sample 来测试 ES6+ 功能。 - 选择快速 Preset 或自定义选项: 单击 2 空间(标准)、4 空间、Allman + Chain Break 或 Minify (.min.js),或在右侧面板中微调大括号位置、条件间距和注释删除。
- 实时查看: 格式化输出和字符/行/块计数器会在您键入或切换设置时自动更新。
- 复制或下载: 单击复制到clipboard或下载.js以保存
script.beautified.js(或script.min.js)。
JavaScript 格式化选项解释
| 选项 | 它控制什么 | 前 | 后 |
|---|---|---|---|
| 同线牙套 (K&R) | 将开头 { 放置在标题行上(选中)或以 Allman 样式放置在新行上(未选中)。 |
if(ok){run();}else{stop();} |
if (确定) { |
| 条件前的空格 | 控制 if、for、while、switch、catch 和 () 之间是否出现空格。 |
for(令 i=0;i<5;i++) |
for (令 i = 0; i < 5; i++) |
| 断开链接方法 | 跨缩进行分割流畅的方法链 (.filter().map().sort())。 |
items.filter(fn).map(fn).sort(); |
items.filter(fn) |
| 删除评论 | 删除 // 和 /* */ 注释,同时保持 https:// 字符串和正则表达式不变。 |
const u = "https://a.com"; // url |
const u = "https://a.com"; |
为什么使用令牌感知 JavaScript 格式化程序?
使用简单的文本替换规则格式化 JavaScript 通常会破坏有效代码,因为 /、、 和 { 等字符根据上下文含义不同。我们的格式化程序使用专用的 JavaScript 词法分词器 来理解:
- 字符串和 ES6 模板文字: 单引号 (
'...')、双引号 ("...")、反引号模板字符串 (`Hello ${name}`) 和转义反斜杠("C:\\Users\\") 逐字保留。 - 正则表达式与除法: 将 regex 文字(如
/^user_[0-9]+;?/i)与除法表达式(如(a + b) / 2)区分开来,因此 regex 内的分号或斜杠永远不会分割该行。 for (...)循环标题:for 内的分号 (let i = 0; i < n; i++)保留在同一标题行上,而不是分成三个单独的行。- 安全注释剥离:单行
//和多行/* */注释被单独标记,因此像“https://api.example.com”这样的URL在删除注释时永远不会被截断。
常见问题解答
如何在线取消压缩 .min.js 文件?
将压缩的 .min.js 代码粘贴到左侧的 Input JavaScript 编辑器中。分词器自动实时扩展语句、块、函数和循环,并具有干净的多行缩进。
删除注释是否会影响我的 JavaScript 中的 https:// URL 或 regex 文字?
不会。因为我们的格式化程序使用词法分词器而不是简单的正则表达式,所以单引号字符串、双引号字符串、模板文字和正则表达式 (/pattern/g) 内的 // 和 /* */ 永远不会被删除或修改。
K&R(同线)和 Allman(新线)牙套样式有什么区别?
K&R 样式将左大括号 { 与 function、if 或循环头(大多数 JavaScript 样式指南中的标准)放在同一行。取消选中同行大括号会切换到Allman样式,将左大括号放置在与右大括号对齐的自己的新线上。
我也可以使用此工具 minify JavaScript 吗?
是的。单击 Minify JS 按钮(或在设置面板中选择 Minify (Single-Line .min.js))以去除注释和不必要的空格,同时保持所需的关键字空格不变。
我的 JavaScript 代码是否上传到任何服务器?
不会。所有 JavaScript 格式化和缩小都在浏览器本地 100% 执行。您的源代码永远不会离开您的设备。