不仅是输出信息,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");`


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

### 如何在 Postman 中使用 `console.log` 进行 API 调试 在 Postman 中,可以利用内置的控制台来查看通过 `console.log()` 输出的日志信息。这有助于开发者更好地理解请求和响应过程中的数据流动情况。 #### 查看日志的方法 为了能够看到由 `console.log()` 打印出来的消息,在发送请求之前应该先打开 Postman 的控制台窗口。点击右下角的小图标或者按下快捷键 Ctrl+Alt+C (Windows/Linux) 或 Command+Option+C (Mac),即可开启此功能[^1]。 一旦打开了控制台,就可以像平常一样编写预请求脚本、测试脚本,并在里面加入 `console.log()` 来记录变量值或者其他有用的信息: ```javascript // 预请求脚本或测试脚本内的示例代码 let myVariable = "This is a test message"; console.log(myVariable); ``` 当执行上述代码并发出 HTTP 请求时,任何被 `console.log()` 函数调用的内容都会显示在已打开的 Postman 控制台里。 #### 实际应用场景下的例子 假设有一个场景涉及到向服务器提交一组字符串作为参数,如下所示前端 JavaScript 方法会发起 POST 请求并将一个字符串数组作为负载传递给后端 C# WebAPI 接口[^2]: ```javascript handleTest() { postAction('/test/postPerson', ['1', '2', '3']).then((res) => { console.log('Response from server:', res); // 日志输出到浏览器控制台 }); } ``` 对于这种情况,在 Postman 中模拟相同的请求时也可以添加类似的日志语句以便于跟踪整个交互流程: ```javascript pm.sendRequest({ url: `${pm.environment.get("apiBaseUrl")}/test/postPerson`, method: 'POST', header: { 'Content-Type': 'application/json' }, body: { mode: 'raw', raw: JSON.stringify(['1','2','3']) } }, function(err, response){ let responseData = response.json(); console.log('Server Response Data:', responseData); // 将会在Postman Console中显示 }); ``` 这里不仅展示了如何构建带有有效载荷的数据包并通过 Postman 发送出去,还说明了怎样借助 `console.log()` 把接收到的服务端返回结果展示出来供进一步分析。 另外值得注意的是,在 Tests 脚本部分同样支持访问环境变量以及对其进行验证操作[^3]。因此如果需要确认某些配置项是否设置正确,则可以通过下面的方式实现: ```javascript var apiBaseUrl = pm.environment.get("apiBaseUrl"); console.log(`Current API base URL set to ${apiBaseUrl}`); pm.test("Verify API Base URL", function () { pm.expect(apiBaseUrl).to.equal("https://api.example.com"); }); ``` 这段代码片段首先获取当前环境中定义的基础URL地址,并将其打印至控制台;接着创建了一个简单的断言用来检验该值是否符合预期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值