不仅是输出信息,console.log 也能玩出花

console.log 是 JavaScript 中一个常用的函数,用于向控制台输出信息。

console.log 虽然主要用于调试目的,但也包含了一些有趣的用法, console.log 不仅能输出文本,还能以更丰富的方式展示信息。

在这里插入图片描述

比如我们打开 B 站,然后按下 F12 的控制台,进入 Console 菜单,就可以看到如下界面:

微信公众号的 Console 控制台显示如下:

1、基本用法

我们先来看看 console.log 一些基本用法。



以下代码将在控制台输出 “`Hello, World!”:`

console.log("Hello, World!");


你可以同时输出多个值,`console.log` 会依次打印它们,并用空格隔开:






`let name = "Runoob";``let age = 25;``console.log("Name:", name, "Age:", age);`


输出结果:



`Name: Runoob Age: 25`


console.log 可以打印变量的值和表达式的结果:



`let x = 10;``let y = 20;``console.log("x + y =", x + y);`


输出结果:



`x + y = 30`


console.log 支持 C 语言风格的格式化输出,常见的占位符包括:

  • %s:字符串

  • %d%i:整数

  • %f:浮点数

  • %o:对象



console.log(“Name: %s, Age: %d”, “Runoob”, 25);


输出结果:  







Name: Runoob, Age: 25


你可以直接打印对象和数组:






let person = { name: "Runoob", age: 25 };``let numbers = [1, 2, 3, 4, 5];``console.log(person);``console.log(numbers);


输出结果:






{ name: "Runoob", age: 25 }``[1, 2, 3, 4, 5]


* * *

**2、花式玩法**

接下来我们来看看 console.log 的花式玩法。  

你可以通过使用 %c 占位符和 CSS 样式来样式化控制台输出:

console.log("%cHello, World!", "color: blue; font-size: 20px; background-color: yellow;");


![](https://mmbiz.qpic.cn/mmbiz_png/vqlbVFl5Jn1iaTk5qlMxr2rjI2tEfYBnmPhzCPF5x8IXS3ZOOmMs8gYGbxR5M2ph317d7F1WcEzszdOoajnRO0Q/640?wx_fmt=png&from=appmsg)


可以添加 CSS 后,我们就可以展开一些想象,比如设置渐变样式:



`console.log("%cGradient text", "background: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet); color: white; padding: 2px;");`


结合 CSS 样式和 Emoji:

我们也可以在一条 console.log 语句中使用多个 %c 来应用不同的样式:

为了方便重复使用特定样式,我们可以创建一个自定义的日志函数:



`function styledLog(message, styles) {`    `console.log("%c" + message, styles);``}``   ``styledLog("This is a styled log message", "color: purple; font-size: 18px; background-color: lightgray; padding: 4px;");`


有了 CSS,添加个图片也很轻松:



`console.log('%c ', 'padding-left: 20px; line-height: 20px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIpQBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpdmZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoePPQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKcTNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jcW+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQjLYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII=) 100% / contain no-repeat;');`


使用 console.table 可以将数组或对象以表格形式打印出来,更加直观地展示数据:



`let users = [`    `{ name: "Alice", age: 25 },`    `{ name: "Bob", age: 30 },`    `{ name: "Charlie", age: 35 }``];``console.table(users);`


使用 console.group 和 console.groupEnd 可以创建一个分组,将相关的日志信息组织在一起,便于查看:

使用 console.assert 可以在表达式为 false 时输出错误信息:



`let x = 5;``   ``console.assert(x > 10, "x is not greater than 10");`


如果 x 小于或等于 10,这段代码将在控制台输出错误信息 Assertion failed: x is not greater than 10。

使用 console.trace 可以打印当前代码的堆栈跟踪信息,帮助定位问题的源头:



`function foo() {`    `function bar() {`        `console.trace("Stack trace");`    `}`    `bar();``}``   ``foo();`


这段代码将在控制台输出函数调用的堆栈跟踪信息。

你可以使用 console.clear 清除控制台输出:



`console.log("包含这条内容,以上输出都会被清空");``console.clear();`


你可以直接将 DOM 元素传递给 console.log,这样它们会以可交互的形式显示在控制台中:



`let element = document.getElementById("myElement");``console.log(element);`


你可以自定义一个日志函数来添加额外的功能,例如添加时间戳:



`function customLog(...args) {`    `console.log(new Date().toISOString(), ...args);``}``   ``customLog("This is a custom log message");`


这段代码将在每条日志信息前添加当前的时间戳:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值