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


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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络体系结构解析

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

c++多态的定义和原理

目录 1、多态的定义和实现 1.多态的构成条件 2.虚函数 3.虚函数的重写(覆盖) 4.虚函数重写的两个例外 5.c11 override和final 6.重载,覆盖(重写)和隐藏(重定义) 2、抽象类 概念 接口继承和实现继承 3、多态的原理 1.虚函数表 2.多态的原理 4、多继承中的虚…

武夷山细节决定成败抓质量求生存

在当今竞争激烈的市场环境中,细节决定成败,质量求生存的理念已成为企业发展的关键。蓝鹏测控科技有限公司,一家专业从事工业测量领域的高新技术企业,正是秉持这一理念,在工业测径仪领域取得了显著成就。 蓝鹏测控科技…

Ozon俄罗斯哪些产品热销中?Ozon7月市场热卖趋势放送

Ozon俄罗斯哪些产品热销工具:D。DDqbt。COm/74rD 据Ozon数据,2023年,在自提服务方面,Ozon投资了100亿扩展自提网络,自提点数量激增至超过5万个,是之前的2.6倍。 物流基础设施方面,Ozon在仓库建…

BGP第二日

上图为今日所用拓扑 ,其中R1和R4,R3和R5为EBGP邻居,R1和R3为IBGP邻居,AS200区域做OSPF动态路由 一.BGP建立邻居的六种状态 1.idle 空闲状态:建立邻居最初的状态 2.Connect 连接状态:在…

360安全浏览器就是不行-python秒破解

下面画框都很容易破解,大家试试

ZGC在三色指针中的应用

ZGC基于颜色指针的并发处理算法 ZGC初始化之后,整个内存空间的地址视图被设置为Remapped,当进入标记阶段时的视图转变为Marked0(也称为M0)或者Marked1(也称为M1),从标记阶段结束进入转移阶段时…

怎么样的主食冻干算好冻干?品质卓越、安全可靠的主食冻干分享

当前主食冻干市场产品质量参差不齐。一些品牌过于追求营养数据的堆砌和利润的增长,却忽视了猫咪健康饮食的基本原则,导致市场上出现了以肉粉冒充鲜肉、修改产品日期等不诚信行为。更令人担忧的是,部分产品未经过严格的第三方质量检测便上市销…

MATLAB中的SDPT3、LMILab、SeDuMi工具箱

MATLAB中的SDPT3、LMILab、SeDuMi工具箱都是用于解决特定数学优化问题的工具箱,它们在控制系统设计、机器学习、信号处理等领域有广泛的应用。以下是对这三个工具箱的详细介绍: 1. SDPT3工具箱 简介: SDPT3(Semidefinite Progra…

Jetson-AGX-Orin 非docker环境源码编译安装CyberRT

Jetson-AGX-Orin 非docker环境源码编译安装CyberRT 1、安装依赖 sudo apt update sudo apt-get install g gdb gcc cmake sudo apt install libpoco-dev uuid-dev libncurses5-dev python3-dev python3-pip python3 -m pip install protobuf3.14.02、下载CyberRT源码 git cl…

拥抱 AGI:PieDataCS 引领云原生数据计算系统新范式

自2023年后,人工智能技术进入了一个更为成熟和广泛应用的阶段,人工通用智能(AGI)这一概念也成为了科技界和产业界热议的焦点。本文将结合 AGI 时代背景,从架构设计到落地实践,详细介绍拓数派云原生数据计算…

Spring开发实践(四)

VO,BO,PO,DO,DTO的区别 1、PO:Persistant Object(持久对象),基本上,PO对象中的属性就是对应着数据库中表的字段,加上⼀些get和set⽅法的组成。例:个⼈信息表中分别有&am…

德国哥廷根大学《Nature Geoscience》最新成果!揭示热带森林对季节性干旱的响应机制!

本文首发于“生态学者”微信公众号! 越来越多的研究称热带森林的生产力受到养分限制,这可能影响其对季节性干旱的反应(Nature正刊!亚利桑那大学 博士生陈舒立一作兼通讯 最新重磅成果!;《Nature Geoscience…

简洁易用,快速制作高品质产品册的工具

在数字化时代,高效制作高品质产品册的需求日益增长。市场上涌现出众多声称能够帮助快速制作产品册的工具,但真正能兼顾简洁易用和品质的却寥寥无几。 ​这款工具名为“FLBOOK”,它凭借其强大的功能和简单易用的操作界面,赢得了众多…

RK3568笔记三十三: helloworld 驱动测试

若该文为原创文章,转载请注明原文出处。 报着学习态度,接下来学习驱动是如何使用的,从简单的helloworld驱动学习起。 开始编写第一个驱动程序—helloworld 驱动。 一、环境 1、开发板:正点原子的ATK-DLRK3568 2、系统&#xf…

谷粒商城学习笔记-23-分布式组件-SpringCloud Alibaba-Nacos配置中心-简单示例

之前已经学习了使用Nacos作为注册中心,这一节学习Nacos另外一个核心功能:配置中心。 一,Nacos配置中心简介 Nacos是一个易于使用的平台,用于动态服务发现和配置管理。作为配置中心,Nacos提供了以下核心功能和优势&am…

适合初学者的嵌入式项目有哪些?

适合初学者的嵌入式项目有哪些? 嵌入式学习是一个实践性很强的领域,通过实际项目可以帮助你巩固理论知识并提升技能。以下是几个适合初学者练手的嵌入式项目,每个项目都涵盖了从硬件到软件的不同层面: 1.LED灯控制 详细描述:在…

Parallels Desktop 19 for Mac 让你的 Mac 变得无比强大

简单来说,Parallels Desktop 19 for Mac 可以让你在苹果 Mac 电脑 (包括 M1、M2 或 Intel) 的电脑上「同时运行」一个或多个 Windows 或 Linux 系统,并能随意在不同平台软件之间切换。它能让你的 Mac 变得无比强大,因为 PD 能让你直接在 macO…

centos下编译安装redis最新稳定版

一、目标 编译安装最新版的redis 二、安装步骤 1、redis官方下载页面 Downloads - Redis 2、下载最新版的redis源码包 注:此时的最新稳定版是 redis 7.2.5 wget https://download.redis.io/redis-stable.tar.gz 3、安装编译环境 yum install -y gcc gcc-c …

debian 12 Install

debian 前言 Debian是一个基于Linux内核的自由和开放源代码操作系统,由全球志愿者组成的Debian项目维护和开发。该项目始于1993年,由Ian Murdock发起,旨在创建一个完整的、基于Linux的自由软件操作系统。 debian download debian 百度网盘…