网站首页 > 知识剖析 正文
前端功能问题系列文章,点击上方合集↑
序言
大家好,我是大澈!
本文约1500+字,整篇阅读大约需要3分钟。
本文主要内容分三部分,如果您只需要解决问题,请阅读第一、二部分即可。如果您有更多时间,进一步学习问题相关知识点,请阅读至第三部分。
感谢关注微信公众号:“程序员大澈”,然后加入问答群,从此让解决问题的你不再孤单!
1. 需求分析
一般情况下,我们在项目中进行代码调试时,往往只会在逻辑中使用console.log进行控制台打印调试。
这种方式虽然比较常规直接,但是如果打印数据多了,就会导致你的控制台消息变得异常混乱。
所以,我们有了更好的选择,那就是console对象提供的其它API,来让我们能够更清晰的区分打印信息。
2. 实现步骤
2.1console.warn
当我们需要区分一些比较重要的打印信息时,可以使用warn进行警告提示。
2.2 console.error
当我们需要区分一些异常错误的打印信息时,可以使用error进行错误提示。
2.3 console.time/timeEnd
想看看一段代码运行需要多长时间,可以使用time。
这对于需要一些时间的CPU密集型应用程序非常有用,例如神经网络或HTML Canvas读取。
下面执行这段代码:
console.time("Loop timer")
for(let i = 0; i < 10000; i++){
// Some code here
}
console.timeEnd("Loop timer")
结果如下:
2.4 console.trace
想看看函数的调用顺序是怎样的吗?可以使用trace。
下面执行这段代码:
<script setup>
function trace(){
console.trace()
}
function randomFunction(){
trace();
}
randomFunction()
</script>
在setup中,randomFunction 调用trace,然后又调用console.trace。
因此,当您调用 randomFunction 时,您将得到类似的输出,结果如下:
2.5 console.group/groupEnd
当我们需要将一类打印信息进行分组时,可以使用group。
下面执行这段代码:
console.group("My message group");
console.log("Test2!");
console.log("Test2!");
console.log("Test2!");
console.groupEnd()
结果如下:
2.6 console.table
在控制台中打印表格信息,可以使用table。
对!你没听错,就是让我们以表格形式展示打印信息。
如果使用log打印:
var person1 = {name: "Weirdo", age : "-23", hobby: "singing"}
var person2 = {name: "SomeName", age : "Infinity", hobby: "programming"}
console.log(person1, person2);
结果如下:
这样做是不是让数据看起来很混乱。
反之,如果我们使用table输出:
var person1 = {name: "Weirdo", age : "-23", hobby: "singing"}
var person2 = {name: "SomeName", age : "Infinity", hobby: "programming"}
console.table({person1, person2})
结果如下:
怎么样!从来不知道控制台可以看起来如此干净,对吧!
2.7 console.clear
最后,使用clear把控制台清空吧!
3. 问题详解
3.1可以自定义log的样式吗?
答案当然是可以的,只需要借助%c这个占位符。
%c 是console的占位符,用于指定输出样式或应用 CSS 样式到特定的输出文本。
但请注意,%c 占位符只在部分浏览器中支持,如 Chrome、Firefox 等。
通过使用 %c 占位符,可以在 console.log 中为特定的文本应用自定义的 CSS 样式。这样可以改变输出文本的颜色、字体、背景等样式属性,以便在控制台中以不同的样式突出显示特定的信息。
以下是使用%c 占位符应用样式的示例:
console.log("%c Hello, World!",
"color: red; font-weight: bold;border: 1px solid red;");
结果如下:
通过使用 %c 占位符和自定义的样式规则,可以在控制台输出中以不同的样式突出显示特定的文本,使得输出更加清晰和易于识别。
这在调试和日志记录过程中非常有用,特别是当需要突出显示特定类型的信息或错误时。
结语
建立这个平台的初衷:
- 打造一个仅包含前端问题的问答平台,让大家高效搜索处理同样问题。
- 通过不断积累问题,一起练习逻辑思维,并顺便学习相关的知识点。
- 遇到难题,遇到有共鸣的问题,一起讨论,一起沉淀,一起成长。
感谢关注微信公众号:“程序员大澈”,然后加入问答群,从此让解决问题的你不再孤单!
- 上一篇: 超越陈旧乏味的 console.log()(超越以往的意思)
- 下一篇: 网络基础-路由篇(路由路由)
猜你喜欢
- 2024-11-17 CSV Parquet Avro:为正确的工作选择合适的工具
- 2024-11-17 JS基础进阶- 同步异步编程和EventLoop底层机制
- 2024-11-17 5个你应该知道的JavaScript技巧,不能错过!
- 2024-11-17 map映射+异步加载 完美过渡 if else
- 2024-11-17 Chrome控制台的一些有用API(chrome控件)
- 2024-11-17 Javascript调试器自编代码及运用(js调试工具和方法如何使用)
- 2024-11-17 NET中的定时器:种类与应用场景(winform定时器)
- 2024-11-17 全栈之路:从一个深拷贝开始循序渐进
- 2024-11-17 localStorage灵魂五问。 5M??10M(灵魂官方网站)
- 2024-11-17 JS中用于跟踪程序执行时间的专用函数,两个同时出现截断时间戳
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)