还在console.log一把梭吗?console还有其他骚操作

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 相信很多童鞋在开发中都是使用console.log()进行调试,本篇文章介绍一下console对象中的一些其他方法,这里并不是常用的方法。
Hi~,我是 一碗周,一个在舒适区垂死挣扎的前端,如果写的文章有幸可以得到你的青睐,万分有幸~

🍈 写在前面

相信很多童鞋在开发中都是使用console.log()进行调试,本篇文章介绍一下console对象中的一些其他方法,这里并不是介绍console.info()console.warn()console.error这几个方法,而是一些比较有意思的方法。

🫐 打印表格

console对象中有一个table()方法,作用是将数据以表格的形式显示,该方法接受一个必选参数data,这个参数可以是一个数组或者对象,以及一个可选参数cloums,表示一个包含列的名称的数组。

如下代码展示了console.table()的用法:

var arr = [
    { name: '张三', age: 18, sex: '男' },
    { name: '李四', age: 19, sex: '男' },
    { name: '王五', age: 20, sex: '男' },
]
console.table(arr)

代码运行结果如下所示:

image_Gk3AS5OkPO.png

🍒 分组显示

当我们需要打印特别多的信息时,可能页面的数据过多无法快速准确的定位我们想要的信息。console对象中提供了两组方法可以帮助我们来完成这个分组操作,具体如下:

  • console.group()console.groudEnd()
  • console.groupCollapsed()console.groudEnd()

这两者的区别就是前者分组是默认展开的,后者默认折叠。

console.group()console.groupCollapsed()接受一个参数,表示分组名称;console.groudEnd()表示当前分组结束。

如下展示展示了分组的用法:

// 默认展开
console.group('person')
console.log('name: 张三')
console.log('age: 18')
console.groupEnd()
// 默认折叠
console.groupCollapsed('person')
console.log('name: 张三')
console.log('age: 18')
console.groupEnd()

代码运行结果如下所示:

image_yMtfOWv5mA.png

🍑 计数操作

console对象中的count()方法可以用来完成计数的操作,该方法接受一个可选的参数,即输出的内容,默认为default;该方法还可以根据不同的参数来分别计数。

如下代码展示了console.count()的用法:

// 默认参数
console.count()
console.count()
console.count()
// 根据不同参数分别进行计数
console.count('一碗周')
console.count('happy coding')
console.count('一碗周')
console.count('happy coding')
console.count('一碗周')
console.count('happy coding')

代码运行结果如下所示:

image_nluJLWovs2.png

🍐 样式美化

我们还可以为console.log()输出的样式进行美化,对输入的样式美化主要是通过%c来完成的。

我们先来看一下掘金浏览器插件中的console面板:

image__w8ImmkD-Z.png

我们可以看到这个样式就与默认的有所不同,实际上实现这种效果的代码是下面这样的:

console.log('%cHi! 我是掘金插件的产品经理,\n作为一名曾经的开发者,很高兴能以这样的方式与你认识,\n如果你对插件有什么要吐槽的或者好的想法分享', 'line-height: 30px')
console.log('欢迎给我发送邮件交流: %czhangshaozhuang@bytedance.com', 'line-height: 30px; color: red')

我们现在就对这个语法进行解析,如下图所示:

console样式详解_3FhSkN8Htg.png

在遇到%c后,会将后面的样式作为%c后文字的样式,遇到下一个%c会结束,下一个%c还可以在下一个参数的位置写CSS样式,依次类推。

如下代码展示了一句话中多个%c,具体代码如下:

console.log('%c红色%c蓝色%c绿色', 'color: red;', 'color: blue;', 'color: green;')

代码运行结果如下所示:

image_ZJlP7mCiR-.png

console中允许的CSS属性有限,具体可以参考MDN

如果想要设置多个属性,直接使用字符串的方式写出来的效果不易读,可以使用数组的方式将每一项写出,在通过join()方法拼接,示例代码如下所示:

// 将 CSS 属性放置数组内,通过 join 拼接为一个字符串
const styles = [
    'color: red',
    'background: yellow',
    'font-size: 24px',
].join(';')
console.log('%cHello 一碗周', styles)

🍓 写在最后

本篇文章到这里就结束了,如果觉得本文有用,可以点赞支持一下啊~

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
IDEA--Grep Console-日志管理神器
IDEA--Grep Console-日志管理神器
318 0
|
4月前
|
监控 程序员 数据库
分享一个 .NET Core Console 项目中应用 NLog 写日志的详细例子
分享一个 .NET Core Console 项目中应用 NLog 写日志的详细例子
|
JavaScript
Vue配置自动隐藏console打印日志
vue项目中,自动把console.log()打印日志隐藏
1688 41
|
Web App开发 前端开发 API
Chrome操作指南——入门篇(七)console中的await和log
Chrome操作指南——入门篇(七)console中的await和log
Chrome操作指南——入门篇(七)console中的await和log
|
Web App开发
chrome调试11-在console中调试日志
chrome调试11-在console中调试日志
106 0
chrome调试11-在console中调试日志
|
Web App开发 XML JavaScript
Console 3000字完整指南,让你不只会用console.log !
Console 3000字完整指南,让你不只会用console.log !
Console 3000字完整指南,让你不只会用console.log !
|
Web App开发 开发工具 Android开发
Flutter Web:运行后console中不停的打印debug日志
我们用android studio直接运行flutter web项目,会启动chrome来执行,这时候如果我打开开发者工具(右键-》检查),就会发现非常卡 (前提是用Html Render来渲染,用CanvasKit好像就没问题) 在console上边的操作栏上可以看到一个数字在不停的增长,这是因为console默认不显示debug日志,所以这些日志回以计数的形式显示。我们在操作栏的level中将debug选中,就会看到debug日志了。
769 0
|
Web App开发 JavaScript 前端开发
[console,log,添加1,参数,定义]javascript:数组详细操作方法及解析合集(9改变8不变12遍历)
  改变原数组的方法(9个):   1   2   3   4   5   let a=[1,2,3];   ES5:   a.pop()/ a.shift()/ a.push()/ a.unshift()/ a.reverse()/ a.splice()/ a.sort()
199 0
|
小程序 开发者
[console,log,时执行,页面节点树,组件实例]微信小程序中使用async/await语法的方法
  1、在微信小程序项目添加package.json文件或者直接npm init.   2.在package.json中添加regenerator包和版本   `"devDependencies": {   "regenerator":"0.13.3"}`   3.微信开发者工具-》工具-》npm构建
164 0