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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/374596.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

79. UE5 RPG 创建技能冷却和消耗

在这一篇里面,我们接着优化技能,现在角色添加的主动技能能够同步到ui上面。我们在这一篇文章里面,完善技能的消耗(释放技能减少蓝量)和冷却机制。 我们可以看到,在技能类默认值这里,可以设置它的…

【YashanDB知识库】YashanDB 开机自启

【问题分类】 YashanDB 开机自启 【关键字】 开机自启,依赖包 【问题描述】 数据库所在服务器重启后只拉起monit、yasom、yasom进程,缺少yasdb进程: 【问题原因分析】 数据库安装的时候未启动守护进程 【解决 / 规避方法】 进入数据库之前…

问题清除指南|Dell OptiPlex 7070 升级 win11 开启 TPM 2.0 教程

前言:最近想把实验室台式机的系统从 Windows 10 升级到 Windows 11,遇到一点小问题,在此记录一下解决办法。 ⚠️ 注:本教程仅在 Dell OptiPlex 7070 台式机系统中测试有效,并不保证其余型号机器适用此教程。 参考链接…

计算机网络体系结构解析

OSI参考模型 与 TCP/IP模型 如图所示 TCP/IP模型有几层 应用层:只需要专注于为用户提供应用功能 HTTP、SMTP、Telnet等,工作在操作系统中的用户态,传输层及以下工作在内核态传输层:为应用层提供网络支持(TCP、UDP传…

谷粒商城实战-25-分布式组件-SpringCloud Alibaba-Nacos配置中心-加载多配置集

文章目录 一,拆分配置集二,配置文件中配置多配置集1,引用多配置集2,验证 三,多配置集总结1,使用场景2,优先级 这一节介绍如何加载多个配置集。 大多数情况下,我们把配置全部放在一个…

Linux系统学习 —— 计算机基础(笔记篇)

一、电脑硬件 电脑硬件由输入,控制计算,输出三部分组成。 输入部分包括键鼠,读卡器(外部接口),扫描仪(打印机的扫描仪)。计算控制部分包括CPU , 内存,硬盘&…

【Git基本操作】添加文件 | 修改文件 | 及其各场景下.git目录树的变化

目录 1. 添加文件&add操作和commit操作 2. .git树状目录的变化 3. git其他操作 4. 修改文件 4.1 git status 4.2 git diff 1. 添加文件&add操作和commit操作 add操作:将工作区中所有文件的修改内容 添加进版本库的暂存区中。commit操作:…

『Django』自带的后台

theme: smartblue 本文简介 点赞 关注 收藏 学会了 上一篇讲了 Django 操作 MySQL 的方法,讲了如何创建模型,如何对数据库做增删改查的操作。但每次修改数据都要写代码,多少有点麻烦。 有没有简单一点的方法呢? 有的有的&#…

鸿蒙语言基础类库:【@ohos.util.Vector (线性容器Vector)】

线性容器Vector 说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 Vect…

C语言 结构体和共用体——结构体所占内存的字节数

目录 结构体所占内存的字节数 结构体所占内存的字节数

极验语序点选验证码识别(一)

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 极验文字点选验证码不必多说,很多小伙伴,借助标注工具或者打码平台标注完数据集后,使用开源的目标检测网络即可完成,欢迎收看我之前的文章: Pytorch利用ddddocr辅助识别点选验证码 或者使…

d3dcompiler_43.dll文件是什么?如何快速有效的解决d3dcompiler_43.dll文件丢失问题

dcompiler_43.dll 是一个Windows系统中的系统文件,属于DirectX软件的一部分。这个dcompiler_43.dll(动态链接库)文件主要用于处理与3D图形编程有关的任务,是运行许多游戏和高级图形程序必需的组件之一。那么如果电脑丢失d3dcompil…

Unity之OpenXR+XR Interaction Toolkit实现 Gaze眼部追踪

使用 Unity OpenXR 实现Gaze眼部追踪 在虚拟现实(VR)和增强现实(AR)应用中,眼动追踪是一项强大而受欢迎的技术。它可以让开发者更好地理解用户的注意力和行为,并创造出更加沉浸和智能的体验。在本文中,我们将探讨如何使用 Unity OpenXR 实现Gaze眼部追踪功能。 Unity …

Flutter-实现物理小球碰撞效果

效果 引言 在Flutter应用中实现物理动画效果,可以大大提升用户体验。本文将详细介绍如何在Flutter中创建一个模拟物理碰撞的动画小球界面,主要代码实现基于集成sensors_plus插件来获取设备的加速度传感器数据。 准备工作 在开始之前,请确保…

聊聊大模型如何为敏捷研发提效

这是鼎叔的第一百零二篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。 欢迎关注本公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。本人新书《无测试组织-测试团队的敏捷转型》已出版(机械工业出版社&#xff…

红日靶场----(三)2.漏洞利用

上期的通过一句话木马实现对目标主机的持久后门 我使用的是蚁剑,蚁剑安装及使用参考: 下载地址: GitHub - AntSwordProject/AntSword-Loader: AntSword 加载器 安装即使用: 1. 快速入门 语雀 通过YXCMS的后台GETSHELL 利用…

设计模式探索:策略模式

1. 什么是策略模式(Strategy Pattern) 定义 策略模式(Strategy Pattern)的原始定义是:定义一系列算法,将每一个算法封装起来,并使它们可以相互替换。策略模式让算法可以独立于使用它的客户端而…

算法day03 桶排序 数据结构分类 时间复杂度 异或运算

学数据结构之前 必看_哔哩哔哩_bilibili 1.认识复杂度和简单排序算法_哔哩哔哩_bilibili 桶排序(Bucket sort)------时间复杂度为O(n)的排序方法(一)_多桶排序时间复杂度-CSDN博客 桶排序 测试场景:数组中有10000个随…

PyTorch SummaryWriter TensorBoard 中进行可视化

在 PyTorch 中,SummaryWriter 通常用于在训练过程中记录各种数据,以便在 TensorBoard 中进行可视化。 - 安装: pip install tensorboard -i https://mirrors.aliyun.com/pypi/simple/ from torch.utils.tensorboard import SummaryWriter…

MVC分页

public ActionResult Index(int ? page){IPagedList<EF.ACCOUNT> userPagedList;using (EF.eMISENT content new EF.eMISENT()){第几页int pageNumber page ?? 1;每页数据条数&#xff0c;这个可以放在配置文件中int pageSize 10;//var infoslist.C660List.OrderBy(…