console.clear() 是标准且通用的清屏方法,所有现代浏览器和 Node.js(v8.3.0+)均支持;clear() 仅为 Chrome DevTools 等特定环境的非标准快捷别名,缺乏跨平台兼容性。

clear() 和 console.clear() 都能清空浏览器或 Node.js 控制台的输出,但它们的可用性、行为和兼容性有区别,不能随意混用。
console.clear() 是标准且通用的方法
这是 ECMAScript 规范定义的 API,所有现代浏览器(Chrome、Firefox、Safari、Edge)和 Node.js(v8.3.0+)都支持。执行后会清空控制台历史记录(已打印的内容),光标回到顶部。
- 在浏览器 DevTools 控制台中直接输入:
console.clear()
- 在 Node.js REPL 中同样有效(需较新版本)。
- 它不会影响后续代码执行,也不会清空命令行输入缓冲区(比如你刚输了一半的命令,不会被删掉)。
clear() 是部分环境的快捷别名,非标准
它仅在 Chrome DevTools 和某些终端模拟器(如 VS Code 内置终端)中作为 console.clear() 的简写存在,本质是开发者工具提供的便利命令,不是 JavaScript 原生函数。
- 在 Chrome 控制台中输入
clear()确实会清屏,但换到 Firefox 或 Safari 就会报错:ReferenceError: clear is not defined。 - 在 Node.js 默认 REPL 中不识别
clear(),会提示ReferenceError;不过某些增强型 REPL(如node -i配合第三方模块)可能自行挂载了该别名,但不可依赖。
实际使用建议
- ✅ 优先用
console.clear():跨平台、可预测、无兼容风险。 - ❌ 避免依赖
clear():它不是语言特性,属于环境特供,写进脚本容易出错。 - ⚠️ 注意控制台“清空”不等于“重置状态”:变量、函数定义、全局对象修改依然存在,只是视觉上清除了日志。
如果你常要调试并频繁清屏,可以封装一个安全调用:
function clearConsole() {
if (typeof console.clear === 'function') {
console.clear();
}
}不复杂但容易忽略细节。

















