<p>HTML唯一合法注释是<!-- -->,不可嵌套,不隐藏于SEO工具或爬虫,禁止含敏感信息,生产环境应自动移除。</p>

HTML注释只能用 ,别碰 _comment 或 //
HTML里没有_comment这种东西,也不是JS函数——它一旦出现,基本是项目里某人手误或旧脚本残留。浏览器看到<!-- _comment("xxx") -->,只会当普通文本跳过;但如果你在<script></script>里写<!-- console.log(1) -->,现代浏览器虽能执行JS,却可能因闭合遗漏(比如漏了-->)导致后续JS语法错误。真正合法且唯一被所有浏览器识别的注释形式只有<!-- ... -->。
注释不能嵌套,多层屏蔽得靠手动删或重构
写<!-- 外层 <!-- 内层 --> -->时,第一个-->就终止了注释,后面的内容直接暴露在页面上。这不是“不推荐”,而是标准明令禁止——HTML解析器遇到-->就停,不管后面还有没有<!--。临时禁用大段代码时,别图省事套两层,老老实实选中整块再加<!--和-->;如果要反复开关,考虑用display: none或JS控制remove()更可靠。
注释里的内容对搜索引擎和爬虫可见
你写的<!-- TODO: 接口未联调,先mock数据 -->不会显示在页面,但会被SEO工具、静态分析脚本、甚至CMS导入流程读到。曾经有项目在注释里写了测试用的API密钥路径,结果被自动化扫描器抓取并报漏洞。所以:
• 别在注释里留敏感路径、变量名、账号片段
• 避免堆砌关键词“优化SEO”
• 生产构建时,用html-webpack-plugin的minify.removeComments: true或Vite的build.minify配置移除注释
快捷键有用,但别依赖它自动修复嵌套或跨标签
VS Code按Ctrl+/确实能快速注释选中行,但它只是机械地加<!--和-->,不会检查是否已处于注释内、是否跨了<script></script>边界。常见翻车点:
• 在<script></script>块里用Ctrl+/,结果生成<!-- alert(1); -->——这行JS仍会执行,因为注释只对HTML生效,不影响JS解析
• 选中包含<div>和<code>



















