百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

JavaScript 控制台(Console)是什么?3 分钟零基础入门指南

myzbx 2025-09-03 05:25 9 浏览

本文面向 0~3 年经验的前端同学,用最直白的语言 + 可复制的代码,一次性讲清所有常用 console 方法。读完即可在调试、性能、日志管理上“开挂”。

一、JavaScript 控制台(Console) 是什么?

JavaScript 控制台(Console) 是浏览器内置的调试工具,用于在开发者工具控制台输出信息,辅助开发者调试代码、监控性能等。

一句话记住

控制台(Console) 就是浏览器给你开的一间“小黑屋”,你可以在里面敲任何 JavaScript 代码,立即看到结果,还能调试错误。

二、为什么要认识控制台(Console)?

  • 零门槛试验场:初学变量、循环、函数?在 Console 里敲一行回车一行,立刻看到结果,不怕把页面弄崩。
  • 调试神器:代码报错却找不到原因?Console 会告诉你哪一行、什么错。
  • 面试必问:几乎所有前端面试都会问:“你怎么调试?”答案里一定有 Console。

三、如何打开控制台

方式

操作

快捷键

F12Ctrl+Shift+I(Mac 用 Cmd+Opt+I

右键菜单

在网页空白处 → 检查 → 切换到控制台(Console) 面板

多面板切换

打开后顶部有 元素(Elements)、网络(Network)、控制台(Console) 等,点 控制台(Console) 即可


四、控制台常用代码

(把下面代码直接复制到控制台回车,就能看到效果)

目的

写法

中文解释

打印普通信息

console.log('你好,编程狮!');

最常用的“打招呼”

警告黄条

console.warn('电量低,请充电');

不会阻断程序,只是提醒

错误红条

console.error('出错了,快看代码');

方便一眼定位问题

计时

console.time('循环耗时'); for(let i=0;i<1e6;i++); console.timeEnd('循环耗时');

测性能,单位毫秒

表格展示

console.table([{name:'张三',age:18},{name:'李四',age:20}]);

把数组/对象变表格,超直观

断言检查

console.assert(1===2,'1 不等于 2');

条件为假才报错,写测试很方便

新手日常开发必会的 Console 代码

方法

作用

中文示例

log

普通打印

console.log('你好,编程狮');

info

蓝色提示

console.info('版本 v1.2.3');

warn

黄色警告

console.warn(' 不支持的浏览器');

error

红色错误

console.error(' 网络请求失败');

clear

清空面板

console.clear();

表格神器:console.table

把数组/对象直接转成表格,秒杀手写日志

const users = [
  { name: '小明', age: 18, city: '北京' },
  { name: '小红', age: 22, city: '上海' }
];
console.table(users);

浏览器效果:

性能计时:console.time / timeEnd

测一段代码耗时,比手动 Date.now() 更精准

console.time('渲染耗时');
// 这里放你的代码
for (let i = 0; i < 1e6; i++) { /* ... */ }
console.timeEnd('渲染耗时');  // 渲染耗时: 42.3ms

计数器:console.count

统计函数被调用次数,定位重复触发

function clickBtn() {
  console.count('按钮点击');
}

分组折叠:console.group / groupCollapsed

让日志有“文件夹”,一眼看出层级

console.group('登录流程');
console.log('1. 验证邮箱');
console.log('2. 查询用户');
console.groupEnd();  // 自动闭合

堆栈追踪:console.trace

追踪“谁调用了我”,快速定位调用链

function foo() {
  bar();
}
function bar() {
  console.trace('追踪来源');
}
foo();

占位符格式化:%s %d %o

  • %s 字符串
  • %d 数字
  • %o 对象
const user = { name: '张三', age: 25 };
console.log('用户 %s 年龄 %d 详情 %o', user.name, user.age, user);

性能面板:console.profile / profileEnd

生成火焰图,比 console.time 更细粒度

console.profile('页面加载');
window.addEventListener('load', () => {
  console.profileEnd('页面加载');
});

需在 开发者工具(DevTools) → 性能(Performance) 面板查看。

一键清空:console.clear

调试时日志太多?一键清空,清爽继续。

console.clear(); // 清空控制台

五、控制台实战调试技巧(收藏级)

场景

代码片段

条件断点

console.assert(score > 0, '分数必须大于0');

异步顺序

console.timeLog('任务A');

内存泄漏

console.memory(显示堆使用情况)

CSS 计数

console.log('%c 红色文字', 'color:red');


六、完整速查表(复制即用)

// 1. 基础打印
console.log('普通日志');
console.info('提示信息');
console.warn('警告信息');
console.error('错误信息');


// 2. 表格
console.table([{a:1},{a:2}]);


// 3. 计时
console.time('计时器');
// 代码块
console.timeEnd('计时器');


// 4. 计数
console.count('点击');


// 5. 分组
console.group('组名');
console.log('子项');
console.groupEnd();


// 6. 追踪
console.trace('调用链');


// 7. 格式化
console.log('用户 %s 年龄 %d', '小明', 18);


// 8. 清空
console.clear();


七、彩蛋:浏览器彩蛋指令

在控制台输入以下指令,解锁隐藏彩蛋

彩色输出

// 彩色输出
console.log('%c编程狮欢迎你', 'color:#fff;background:#ff6b00;padding:4px 8px;border-radius:4px');

动态彩虹字

// 带动画效果的彩虹字控制台输出函数
function rainbowLog(text, speed = 100) {
    // 彩虹色的HSL颜色值数组
    const colors = [
        'hsl(0, 100%, 50%)',    // 红色
        'hsl(30, 100%, 50%)',   // 橙色
        'hsl(60, 100%, 50%)',   // 黄色
        'hsl(120, 100%, 50%)',  // 绿色
        'hsl(240, 100%, 50%)',  // 蓝色
        'hsl(270, 100%, 50%)',  // 靛蓝色
        'hsl(300, 100%, 50%)'   // 紫色
    ];

    
    let phase = 0;
    const colorCount = colors.length;

    
    // 动画渲染函数
    function render() {
        let output = '';
        const styles = [];

        
        for (let i = 0; i < text.length; i++) {
            // 计算当前字符的颜色索引,加入相位偏移产生动画效果
            const colorIndex = (i + phase) % colorCount;
            output += `%c${text[i]}`;
            styles.push(`color: ${colors[colorIndex]}; font-weight: bold; font-size: 16px;`);
        }

        
        // 清空控制台并输出当前帧
        console.clear();
        console.log(output, ...styles);

        
        // 更新相位,循环动画
        phase = (phase + 1) % colorCount;
    }

    
    // 初始渲染
    render();

    
    // 设置定时器,创建动画效果
    const interval = setInterval(render, speed);

    
    // 返回清除动画的函数,方便手动停止
    return () => clearInterval(interval);
}


// 使用示例:
// const stop = rainbowLog("编程狮动态彩虹文字效果!");
// 想要停止动画时调用:stop();

八、常见问题

Q1:console 里写的代码会保存吗?

不会!刷新页面或关闭浏览器就清空。想长久保存请写进 .js 文件或用编程狮在线项目保存。

Q2:console 能操作当前网页吗?

可以!试试在 console 输入:

document.body.style.backgroundColor = 'lightblue';

整页背景立即变天蓝色,再输入 document.body.style.backgroundColor = '' 即可恢复。

Q3:如何清空满屏信息?

  • 点击左上角 图标
  • 快捷键 Ctrl+L(Mac Cmd+K

课程推荐

  • 《JavaScript 基础实战》
  • 《初级脚本算法》
  • 《JavaScript零基础入门到进阶》

小结

控制台(Console) 是浏览器自带的“小黑屋”,零配置、零安装。 牢记 6 句咒语:log / warn / error / time / table / assert。 任何 JS 代码都能在 console 里立即运行,刷新即清空,大胆试!

关注编程狮学习更多前端开发技巧!

相关推荐

前端工程师养成计划 专区_前端工程师技能要求

前端工程师必修课本课程从最基本的概念开始讲起,步步深入,带领大家学习HTML、CSS样式基础知识,了解各种常用标签的意义以及基本用法,后半部分讲解CSS样式代码添加,为后面的案例课程打下基础。本课程让...

深入浅出虚拟 DOM 和 Diff 算法,及 Vue2 与 Vue3 中的区别

因为Diff算法,计算的就是虚拟DOM的差异,所以先铺垫一点点虚拟DOM,了解一下其结构,再来一层层揭开Diff算法的面纱,深入浅出,助你彻底弄懂Diff算法原理认识虚拟DOM虚拟...

css 布局简述_css布局的几种方式

本篇简单介绍了css布局体系。包括Flowlayout、display、floats、positionFlowlayout(NormalFlow)CSSFormattingContext...

dart系列之:HTML的专属领域,除了javascript之外,dart也可以

简介虽然dart可以同时用作客户端和服务器端,但是基本上dart还是用做flutter开发的基本语言而使用的。除了andorid和ios之外,web就是最常见和通用的平台了,dart也提供了对HTML...

原来隐藏一个DOM元素可以有这么多种方式,最后一种你肯定不知道

我们在日常编码的时候,隐藏一个dom元素有很多种方式,今天我们来盘点一下隐藏dom元素有哪些方式,最后一种,你绝对没有用过。display:none作为经常用来隐藏元素的css属性,di...

JavaScript精通到深入_javascript进阶书籍推荐

前几天教大家从入门到精通,当然仅靠那一篇文章是不足以带领大家精通JavaScript的,今天给大家带来第二讲!BOM和DOM简介BOM,BrowserObjectModel,浏览器对象模型。BO...

巧克力:从一朵花开始的华丽变身_巧克力花束教程视频

世界上几乎所有的巧克力产品,都出自四五家大公司大型工厂里的流水线。然而,“手工制作巧克力”正在成为一种潮流,吸引着越来越多的人沉醉其中。这些娇嫩的花朵,是你吃过的每一块巧克力的开始。可可花直接生长在...

browser-use:AI 驱动的浏览器自动化神器——DOM识别与交互详解

browser-use可以识别网页中可交互DOM内容,并能与之进行交互。本文将详细介绍browser-use实现这一核心功能的技术细节。一、可交互元素识别browser-use是通过DOMS...

HTML DOM Progress 对象_html中的对象

Progress对象Progress对象是HTML5新增的。Progress对象表示一个HTML<progress>元素。<progress>元素表示任务...

HTML DOM Script 对象_html document对象

Script对象Script对象表示一个HTML<script>元素。访问Script对象您可以使用getElementById()来访问<scrip...

虚拟DOM真的比操作原生DOM快吗?前端大神提供4个参考观点!收藏

尤雨溪:https://www.zhihu.com/question/31809713/answer/53544875VirtualDOM真的比操作原生DOM快吗?1.原生DOM操作v...

前沿|一种新的植入药物或可将HIV的预防时间持续一年

国外已经批准了一种叫做Truvada(中文名:特鲁瓦达)的药物用于HIV感染的暴露前预防。但是由于该药需要每天服用,因此有些人可能无法坚持,从而使得该药的预防效果降低。最近一项新的研究或许可以改变这种...

轻量级埋点sdk搭建,便捷更全面_埋点工具

引言借助埋点监控sdk,我们可以统计用户的点击,页面pv、uv,脚本错误、dom上报等关键信息等。一:项目初始化1.技术栈Tsrollup打包工具2.搭建项目npminit-ytsc--in...

China&#39;s Humanoid Robotics Race Heats Up as Tesla&#39;s Optimus Hits a Wall

TMTPOST--Tesla'sonce-hypedhumanoidrobotproject,Optimus,hashitasnag.Partsprocurementhas...

单机训练速度提升640倍!独家解读快手商业广告模型GPU训练平台Persia

【导读】:近期,快手宣布将在2020年春节前实现3亿DAU,快手商业化营收步伐也随之加速。快手从2018年“商业化元年”开始推行个性化的广告推荐。截止5月底,快手DAU已经突破2亿。随着用户和使用时长...