控制台不仅仅是 .log()
嗨!我知道你们肯定都用过控制台来记录日志,想必你们也来这里看看,看看除了控制台之外还有什么需要补充的。控制台是一个浏览器 API,可以在这里详细了解。
console.log()
我不会在这上面浪费时间,因为它是最常用的,每个 Web 开发人员都会时不时地使用它。
但是,仍然有几个快速提示: 尝试像as 这样的解构,以便在记录时获取对象的名称,而不仅仅是Object。 您实际上也可以在控制台日志中使用变量。(请记住变量的顺序。) %s 表示字符串 %d 表示小数 除了 log() 之外,我们还有多个控制台级别,用于不同的目的,也可以过滤,console.log(user);
控制台.clear()
控制台.table()
这或许是另一个广为人知且常用的功能,但将其添加到列表中仍然有意义。因此,您可以使用 来记录对象/数组console.table()
。此外,还可以使用可选的第二个参数来仅记录变量中的特定值,如上例所示。
控制台.assert()
如果你是一位热爱测试驱动开发 (TDD) 的开发者,那么你可能会喜欢这个。它主要用于检查条件,并在失败时发出断言消息。
console.count() 和 console.countReset()
.count() 和 .countReset() 的含义就如同其名称所示。每次调用 console.count() 时,它都会增加值,而 countReset() 则会将其归零。你可以通过在括号内提供计数器名称来创建多个计数器,就像这样console.count('my var')
,如果没有提供,则视为默认计数器。
控制台 .time() 、 .timeLog() 和 .timeEnd()
有时,在循环中嵌套循环会让你意识到这个函数相当复杂,计算起来可能需要很长时间。但具体要花多少时间呢?只需在函数的开头和结尾分别
添加一个即可。如果你想追踪中间的时间,也可以添加一个。就像计数一样,可以为计时器添加名称,未命名的将被命名为默认名称。console.time()
console.timeEnd()
console.timeLog()
控制台 .group()、.groupEnd() 和 groupCollapsed()
我们经常在循环中使用 console.log() 语句。这似乎是使用控制台组最合适的地方。因为在多次迭代之间区分日志非常困难。
console.group()
您可以通过在开始和结束处启动来实现这一点console.groupEnd()
。(请注意,.group() 可以使用名称作为参数进行初始化,但 groupEnd() 不需要它)
你肯定不想被一堆组轰炸,填满你的控制台。所以你可以使用groupCollapsed()
和组一样的布局,只是折叠起来了。
控制台.trace()
为了了解调用来自哪里,我们可以使用console.trace()
记录堆栈跟踪。
额外福利!!(CSS 样式)
与其使用枯燥的控制台,不如通过提供 CSS 样式让它变得丰富多彩。
因此,我们可以添加一个%c,将其替换为下一个参数中提到的样式,并将其应用于此控制台。