
该错误源于误将 console 当作函数直接调用,而它实际是一个对象;必须调用其具体方法(如 console.log())才能输出内容。
该错误源于误将 console 当作函数直接调用,而它实际是一个对象;必须调用其具体方法(如 console.log())才能输出内容。
在 JavaScript 中,console 并不是一个可直接执行的函数,而是一个内置的全局对象,提供了多种用于调试和信息输出的方法。当你在 script.js 中写下:
<code class="js">console("Hello World from js");</code>
浏览器会尝试把 console 当作函数调用,但因其本质是对象(类似 { log: function() { ... }, warn: function() { ... } }),所以抛出 Uncaught TypeError: console is not a function 错误。
✅ 正确写法是调用 console 对象上的具体方法,最常用的是 console.log():
<code class="js">console.log("Hello World from js");</code>
保存后刷新页面,打开浏览器开发者工具(F12 或右键 → “检查” → 切换到 Console 标签页),即可看到清晰输出:
<code>Hello World from js</code>
? 其他常用 console 方法及适用场景:
-
console.info():输出带信息图标(ℹ️)的提示性消息,适合版本、环境等上下文信息; -
console.warn():输出黄色警告(⚠️),表示潜在问题但不影响执行; -
console.error():输出红色错误(❌),常用于捕获异常或关键失败; -
console.debug():仅在开发者工具启用“Verbose”级别日志时可见,适合深度调试; -
console.table():以表格形式展示数组或对象,提升结构化数据可读性。
⚠️ 注意事项:
- 所有
console.*方法在生产环境中建议移除或通过构建工具(如 Webpack、Vite)自动剥离,避免暴露敏感逻辑; - 部分旧版 IE 不支持
console.debug或console.table,如需兼容,请做存在性检测(例如if (console && console.log) { ... }); - 切勿在条件判断或循环中无节制使用
console.log,可能显著影响性能(尤其输出大型对象时)。
掌握 console 的正确用法,是前端开发调试的第一步——简洁、精准、可维护,才是高效开发的基石。











