当前位置:首页 > 科技  > 软件

JS问题:简单的Console.log不要再用了!试试这个

来源: 责编: 时间:2024-03-18 09:37:46 303观看
导读1. 需求分析一般情况下,我们在项目中进行代码调试时,往往只会在逻辑中使用console.log进行控制台打印调试。这种方式虽然比较常规直接,但是如果打印数据多了,就会导致你的控制台消息变得异常混乱。所以,我们有了更好的选择

ZKy28资讯网——每日最新资讯28at.com

1. 需求分析

一般情况下,我们在项目中进行代码调试时,往往只会在逻辑中使用console.log进行控制台打印调试。ZKy28资讯网——每日最新资讯28at.com

这种方式虽然比较常规直接,但是如果打印数据多了,就会导致你的控制台消息变得异常混乱。ZKy28资讯网——每日最新资讯28at.com

所以,我们有了更好的选择,那就是console对象提供的其它API,来让我们能够更清晰的区分打印信息。ZKy28资讯网——每日最新资讯28at.com

ZKy28资讯网——每日最新资讯28at.com

2. 实现步骤

(1)console.warn

当我们需要区分一些比较重要的打印信息时,可以使用warn进行警告提示。ZKy28资讯网——每日最新资讯28at.com

ZKy28资讯网——每日最新资讯28at.com

(2)console.error

当我们需要区分一些异常错误的打印信息时,可以使用error进行错误提示。ZKy28资讯网——每日最新资讯28at.com

ZKy28资讯网——每日最新资讯28at.com

(3)console.time/timeEnd

想看看一段代码运行需要多长时间,可以使用time。ZKy28资讯网——每日最新资讯28at.com

这对于需要一些时间的CPU密集型应用程序非常有用,例如神经网络或HTML Canvas读取。ZKy28资讯网——每日最新资讯28at.com

下面执行这段代码:ZKy28资讯网——每日最新资讯28at.com

console.time("Loop timer")for(let i = 0; i < 10000; i++){// Some code here}console.timeEnd("Loop timer")

结果如下:ZKy28资讯网——每日最新资讯28at.com

ZKy28资讯网——每日最新资讯28at.com

(4)console.trace

想看看函数的调用顺序是怎样的吗?可以使用trace。ZKy28资讯网——每日最新资讯28at.com

下面执行这段代码:ZKy28资讯网——每日最新资讯28at.com

<script setup>function trace(){console.trace()}function randomFunction(){trace();}randomFunction()</script>

setup中,randomFunction 调用trace,然后又调用console.trace。ZKy28资讯网——每日最新资讯28at.com

因此,当您调用 randomFunction 时,您将得到类似的输出,结果如下:ZKy28资讯网——每日最新资讯28at.com

ZKy28资讯网——每日最新资讯28at.com

(5)console.group/groupEnd

当我们需要将一类打印信息进行分组时,可以使用group。ZKy28资讯网——每日最新资讯28at.com

下面执行这段代码:ZKy28资讯网——每日最新资讯28at.com

console.group("My message group");console.log("Test2!");console.log("Test2!");console.log("Test2!");console.groupEnd()

结果如下:ZKy28资讯网——每日最新资讯28at.com

ZKy28资讯网——每日最新资讯28at.com

(6)console.table

在控制台中打印表格信息,可以使用table。ZKy28资讯网——每日最新资讯28at.com

对!你没听错,就是让我们以表格形式展示打印信息。ZKy28资讯网——每日最新资讯28at.com

如果使用log打印:ZKy28资讯网——每日最新资讯28at.com

var person1 = {name: "Weirdo", age : "-23", hobby: "singing"}var person2 = {name: "SomeName", age : "Infinity", hobby: "programming"}console.log(person1, person2);

结果如下:ZKy28资讯网——每日最新资讯28at.com

这样做是不是让数据看起来很混乱。ZKy28资讯网——每日最新资讯28at.com

ZKy28资讯网——每日最新资讯28at.com

反之,如果我们使用table输出:ZKy28资讯网——每日最新资讯28at.com

var person1 = {name: "Weirdo", age : "-23", hobby: "singing"}var person2 = {name: "SomeName", age : "Infinity", hobby: "programming"}console.table({person1, person2})

结果如下:ZKy28资讯网——每日最新资讯28at.com

怎么样!从来不知道控制台可以看起来如此干净,对吧!ZKy28资讯网——每日最新资讯28at.com

ZKy28资讯网——每日最新资讯28at.com

(7)console.clear

最后,使用clear把控制台清空吧!ZKy28资讯网——每日最新资讯28at.com

ZKy28资讯网——每日最新资讯28at.com

3. 问题详解

(1)可以自定义log的样式吗?

答案当然是可以的,只需要借助%c这个占位符。ZKy28资讯网——每日最新资讯28at.com

%c 是console的占位符,用于指定输出样式或应用 CSS 样式到特定的输出文本。ZKy28资讯网——每日最新资讯28at.com

但请注意,%c 占位符只在部分浏览器中支持,如 Chrome、Firefox 等。ZKy28资讯网——每日最新资讯28at.com

通过使用 %c 占位符,可以在 console.log 中为特定的文本应用自定义的 CSS 样式。这样可以改变输出文本的颜色、字体、背景等样式属性,以便在控制台中以不同的样式突出显示特定的信息。ZKy28资讯网——每日最新资讯28at.com

以下是使用%c 占位符应用样式的示例:ZKy28资讯网——每日最新资讯28at.com

console.log("%c Hello, World!", "color: red; font-weight: bold;border: 1px solid red;");

结果如下:ZKy28资讯网——每日最新资讯28at.com

ZKy28资讯网——每日最新资讯28at.com

通过使用 %c 占位符和自定义的样式规则,可以在控制台输出中以不同的样式突出显示特定的文本,使得输出更加清晰和易于识别。ZKy28资讯网——每日最新资讯28at.com

这在调试和日志记录过程中非常有用,特别是当需要突出显示特定类型的信息或错误时。ZKy28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-76490-0.htmlJS问题:简单的Console.log不要再用了!试试这个

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 业务开发做到零 bug 有多难?

下一篇: 在 Node.js 中发出 HTTP 请求的五种方法

标签:
  • 热门焦点
  • K60 Pro官方停产 第三方瞬间涨价

    虽然没有官方宣布,但Redmi的一些高管也已经透露了,Redmi K60 Pro已经停产且不会补货,这一切都是为了即将到来的K60 Ultra铺路,属于厂家的正常操作。但有意思的是该机在停产之后
  • 一加Ace2 Pro真机揭晓 钛空灰配色质感拉满

    终于,在经过了几波预热之后,一加Ace2 Pro的外观真机图在网上出现了。还是博主数码闲聊站曝光的,这次的外观设计还是延续了一加11的方案,只是细节上有了调整,例如新加入了钛空灰
  • 俄罗斯:将审查iPhone等外国公司设备 保数据安全

    iPhone和特斯拉都属于在各自领域领头羊的品牌,推出的产品也也都是数一数二的,但对于一些国家而言,它们的产品可靠性和安全性还是在限制范围内。近日,俄罗斯联邦通信、信息技术
  • 直屏旗舰来了 iQOO 12和K70 Pro同台竞技

    旗舰机基本上使用的都是双曲面屏幕,这就让很多喜欢直屏的爱好者在苦等一款直屏旗舰,这次,你们等到了。据博主数码闲聊站带来的最新爆料称,Redmi下代旗舰K70 Pro和iQOO 12两款手
  • 6月iOS设备性能榜:M2稳居榜首 A系列只能等一手3nm来救

    没有新品发布,自然iOS设备性能榜的上榜设备就没有什么更替,仅仅只有跑分变化而产生的排名变动,毕竟苹果新品的发布节奏就是这样的,一年下来也就几个移动端新品,不会像安卓厂商,一
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 华为HarmonyOS 4升级计划公布:首批34款机型今日开启公测

    8月4日消息,今天下午华为正式发布了HarmonyOS 4系统,在更流畅的前提下,还带来了不少新功能,UI设计也有变化,会让手机焕然一新。华为宣布,首批机型将会在
  • OPPO K11评测:旗舰级IMX890加持 2000元档最强影像手机

    【Techweb评测】中端机型用户群体巨大,占了中国目前手机市场的大头,一直以来都是各手机品牌的“必争之地”,其中OPPO K系列机型一直以来都以高品质、
Top