console的奇妙用法

news2024/11/24 2:33:48

console的奇妙用法

console.log是调试 JavaScript 代码的最佳方法之一。但是本文将介绍几个与console交互的更好方法。

vscode或者的其他ide中输入console可以看到里边提供了非常多的方法。

在这里插入图片描述

虽然我们通常都是用console.log,但是使用其他可以使调试过程变得更加容易和更快。

warn 和 error

当存在可以停止应用程序工作的错误时,使用 console.log 来调试它是行不通的。控制台消息会变得非常混乱。可能找不到我们要查找的消息。

但是,使用 console.warn()console.error() 是解决这个问题的好方法。

console.warn('This is a warning');

在这里插入图片描述

console.error('This is an error');

在这里插入图片描述

计时操作

比说我们想看看某段代码运行需要多长时间,就可以使用 console.time()

首先,创建一个计时器并为其指定一个唯一的名称。

console.time("Loop timer")

然后,运行这个代码段。

for (i = 0 ; i < 10000 ; i++){ 
  // ...
}

最后调用timeEnd方法停止计时。

console.timeEnd("Loop timer")

在这里插入图片描述

这对于像 CPU 密集型应用程序等耗时较久的代码非常有用,例如 HTML Canvas 读取。

代码追踪

比如我们想看看某个函数是如何被调用的,就可以使用console.trace()方法。

function trace(){
    console.trace()
}
function randomFunction(){
    trace();
}
randomFunction();

在上面的demo中,定义了tracerandomFunction 两个方法,randomFunction 调用 trace,它又调用console.trace()。因此,当我们调用 randomFunction 时,将得到类似的输出:

在这里插入图片描述

分组打印

如果我们对控制台消息进行分组打印,可以使控制台更易于阅读。

console.log("Test1!");

console.group("消息组");

console.log("Test2!");
console.log("Test3!");
console.log("Test4!");

console.groupEnd()

在这里插入图片描述

清除打印

如果我们在调试时存在非常多console,那么可能对于某些重要的打印可能难以查找到,因此我们可以在重要的打印前面加一个清除打印的方法。

console.clear();
console.log('important console')

在这里插入图片描述

这样是不是清晰了很多。

表格展示

我们在项目经常会需要打印出对象来调试看看具体字段的。

比如:

const obj = {a: 1, b: 'bb', c: true, d: () => {}};
console.log(obj);

这时候通过console.log打印出来的数据不是非常直观。

在这里插入图片描述

当然示例看起来倒也还可以,但是实际项目中可能一个对象可能存在非常多的数据,这时候最好用console.table方法打印出表格来。

console.table(obj);

在这里插入图片描述

这样对比起来是不是表格的形式更加直观呢。

在控制台中使用css

是的,你没有看错。我们甚至可以将 CSS 添加到控制台。我们可能在node中使用过chalk这样库,可以打印出不同颜色的日志。但是在浏览器中我们也可以实现。

console.log("%c red console", "color: red;");

在这里插入图片描述

除了颜色之外,还可以设置背景和边框。

console.log("%c red console", 
  "color: red; background-color: lightblue; border: solid");

在这里插入图片描述
注意%c标志。这就是神奇之处。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分布式链路追踪

文章目录 1、背景2、微服务架构下的问题3、链路追踪4、核心概念5、技术选型对比6、zipkin 1、背景 随着互联网业务快速扩展&#xff0c;软件架构也日益变得复杂&#xff0c;为了适应海量用户高并发请求&#xff0c;系统中越来越多的组件开始走向分布式化&#xff0c;如单体架构…

流水灯——FPGA

文章目录 前言一、流水灯介绍二、系统设计1.模块框图2.RTL视图 三、源码四、效果五、总结六、参考资料 前言 环境&#xff1a; 1、Quartus18.0 2、vscode 3、板子型号&#xff1a;EP4CE6F17C8 要求&#xff1a; 每隔0.2s循环亮起LED灯 一、流水灯介绍 从LED0开始亮起到LED3又回…

如何定制自己的应用层协议?|面向字节流|字节流如何解决黏包问题?如何将字节流分成数据报?

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量干货博客汇总https://blog.csdn.net/yu_cblog/c…

基于ssm的社区生活超市的设计与实现

博主介绍&#xff1a;专注于Java技术领域和毕业项目实战。专注于计算机毕设开发、定制、文档编写指导等&#xff0c;对软件开发具有浓厚的兴趣&#xff0c;工作之余喜欢钻研技术&#xff0c;关注IT技术的发展趋势&#xff0c;感谢大家的关注与支持。 技术交流和部署相关看文章…

SpringBoot拦截器

一、SpringBoot拦截器介绍 Spring Boot中的拦截器是一种用于在处理请求之前或之后执行特定操作的组件。拦截器通常用于实现对请求进行预处理、日志记录、权限验证等功能。 在Spring Boot中&#xff0c;可以使用HandlerInterceptor接口来定义自己的拦截器&#xff0c;并通过配…

流水灯实现

文章目录 一、流水灯二、代码实现三、引脚分配 一、流水灯 流水灯指的是LED像水流一样点亮&#xff0c;即LED依次点亮但不立刻熄灭&#xff0c;等到4个LED都点亮后&#xff0c;再把所有灯一次性熄灭。 二、代码实现 module horse_led(input wire clk,input wire rst_n,output…

记录管理系统

简单的记录管理系统&#xff0c;适用于保存表格数据&#xff0c;可以用来替代Excel软件保存数据&#xff0c;提供可视化拖动组件用于自定义数据列&#xff0c;数据存到数据库&#xff0c;相比于Excel&#xff0c;更易保存&#xff0c;易搜索。 例如创建合同记录数据&#xff0…

【电子学会】2023年05月图形化四级 -- 计算圆的面积和周长

计算圆的面积和周长 编写程序计算圆的面积和周长。输入圆的半径&#xff0c;程序计算出圆的面积和周长&#xff0c;圆的面积等于3.14*半径*半径&#xff1b;圆的周长等于2*3.14*半径。 1. 准备工作 &#xff08;1&#xff09;保留舞台中的小猫角色和白色背景&#xff1b; 2…

MySQL数据表高级操作

一、克隆/复制数据表二、清空表&#xff0c;删除表内的所有数据删除小结 三、创建临时表四、MySQL中6种常见的约束1、外键的定义2、创建外键约束作用3、创建主表test44、创建从表test55、为主表test4添加一个主键约束。主键名建议以"PK_”开头。6、为从表test5表添加外键&…

Html利用Canvas绘制图形

今天接到粉丝私信&#xff0c;询问是否可以通过Canvas绘制一些图形&#xff0c;然后根据粉丝提供的模板图&#xff0c;通过Canvas进行模拟绘制&#xff0c;通过分析发现&#xff0c;图形虽然相对简单&#xff0c;但是如果不借助相应的软件&#xff0c;纯代码绘制还是稍微费些时…

机器学习:self supervised learning- Recent Advances in pre-trained language models

背景 Autoregressive Langeuage Models 不完整的句子&#xff0c;预测剩下的空的词语 sentence completion Transformer-based ALMs Masked language models-MLMs 预训练模型能将输入文本转成hidden feature representation 模型参数最开始是从预训练模型中拿到&#xf…

如何快速制作一个奶茶店小程序商城

如果你是一个奶茶店的老板&#xff0c;你可能会考虑开设一个小程序商城来增加销售渠道和提升品牌形象。那么&#xff0c;如何快速制作一个奶茶店小程序商城呢&#xff1f;下面我们将介绍一个简单的步骤供你参考。 首先&#xff0c;你需要登录乔拓云平台进入商城后台管理页面。在…

数据结构真题

数据结构真题 1. A. Bills of Paradise 线段树并查集四个操作&#xff1a; D x。标记大于等于 x 的第一个未标记的 a i a_i ai​&#xff1b;若没有&#xff0c;则不操作.F x。查询大于等于 x 的第一个未标记的 a i a_i ai​&#xff1b;若没有&#xff0c;则输出 1 0 12…

《UNUX环境高级编程》(9)进程关系

1、前言 2、终端登录 在早期的UNIX系统&#xff0c;用户用哑终端&#xff08;用硬连接到主机&#xff09;进行登录&#xff0c;因为连接到主机上的终端设备数是固定的&#xff0c;所以同时登录数也就有了已知的上限。 随着位映射图像终端的出现&#xff0c;开发出了窗口系统&…

数学分析:对偶映射

这个其实就是我们一致讨论的对偶映射&#xff0c;换了个马甲&#xff0c;差点认不出来了。本来是V->R 要变成U->R&#xff0c;就需要一个反向的V*->U*的映射。 注意这个式子&#xff0c;t属于U&#xff0c;phit转到了V&#xff0c;但是坐标也发生了变化&#xff0c;这…

2023西南赛区ciscn -- do you like read

Attack 打开后一个商城页面 在login as admin那里有个登录页面&#xff0c;账号admin&#xff0c;密码爆破即可得到admin123 也可以在book.php?bookisbn1进行sql注入得到密码&#xff0c;这里发现是没有注入waf的 登录进来是一个Book List的管理页面&#xff0c;同时在审计源…

【C语言】初阶指针(详细版)

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在回炉重造C语言&#xff08;2023暑假&#xff09; ✈️专栏&#xff1a;【C语言航路】 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你…

RSA原理

RSA的历史 RSA加密算法是一种非对称加密算法&#xff0c;在公开密钥加密和电子商业中被广泛使用。RSA是由罗纳德李维斯特&#xff08;Ron Rivest&#xff09;、阿迪萨莫尔&#xff08;Adi Shamir&#xff09;和伦纳德阿德曼&#xff08;Leonard Adleman&#xff09;在1977年一…

本地推理,单机运行,MacM1芯片系统基于大语言模型C++版本LLaMA部署“本地版”的ChatGPT

OpenAI公司基于GPT模型的ChatGPT风光无两&#xff0c;眼看它起朱楼&#xff0c;眼看它宴宾客&#xff0c;FaceBook终于坐不住了&#xff0c;发布了同样基于LLM的人工智能大语言模型LLaMA&#xff0c;号称包含70亿、130亿、330亿和650亿这4种参数规模的模型&#xff0c;参数是指…

Lightening Network for Low-Light Image Enhancement 论文阅读笔记

这是2022年TIP期刊的一篇有监督暗图增强的文章 网络结构如图所示&#xff1a; LBP的网络结构如下&#xff1a; 有点绕&#xff0c;其基于的理论如下。就是说&#xff0c;普通的暗图增强就只是走下图的L1红箭头&#xff0c;从暗图估计一个亮图。但是其实这个亮图和真实的亮图…