Chrome 控制台实用指南

前言
Chrome浏览器我想是每一个前端er必用工具之一吧 , 一部分原因是它速度快 , 体积不大 , 支持的新特性也比其它浏览器多 , 还有一部分我想就是因为它的控制台功能强大了吧 , 说它是神器一点也不过分 , 很方便 。但其实很多开发者并没有用出控制台的精髓 , 只是使用简单的console.log();其实控制台功能远远不止这么简单哦 。
console.clear
console.clear();清空控制台 , 这个应该和console.log知名度一样高吧 。
console.log家族
先简单介绍一下chrome的控制台 , 打开chrome浏览器 , 按f12就可以轻松的打开控制台
 

Chrome 控制台实用指南

文章插图
 
 
如果你是一位开发者 , 我想console.log肯定是经常使用的了 , 我们主要看看console.log的几个兄弟:
1.console.log ('普通信息')
2.console.info ('提示性信息')
3.console.error ('错误信息')
4.console.warn ('警示信息')
 
Chrome 控制台实用指南

文章插图
 
 
大家都会用log , 但很少有人能够很好地利用console.error , console.warn 等将输出到控制台的信息进行分类整理 。他们功能区别不大 , 意义在于将输出到控制台的信息进行归类 , 或者说让它们更语义化 。
如果再配合console.group 与console.groupEnd , 可以将这种分类管理的思想发挥到极致 。这适合于在开发一个规模很大模块很多很复杂的Web App时 , 将各自的log信息分组到以各自命名空间为名称的组里面 。
console.group("app.bundle");console.warn("来自bundle模块的警告信息1");console.warn("来自bundle模块的警告信息2");console.groupEnd(); console.group("app.bundle");console.log("来自bundle模块的信息1");console.log("来自bundle模块的信息2");console.groupEnd();
 
Chrome 控制台实用指南

文章插图
 
 
这样的控制台信息看上去就一目了然了 , 就不用再为了找这是属于那一行代码输出的再翻一遍源码了 。
另外 , console.log家族还给我们提供了一个的API:第一个参数可以带一些格式化指令 , 比如%c,n;看下面这个炫酷的效果:
console.log('%chello world', 'background-image:-webkit-gradient( linear, left top, right top, color-stop(0, #f22), color-stop(0.15, #f2f), color-stop(0.3, #22f), color-stop(0.45, #2ff), color-stop(0.6, #2f2),color-stop(0.75, #2f2), color-stop(0.9, #ff2), color-stop(1, #f22) );color:transparent;-webkit-background-clip: text;font-size:5em;');
 
Chrome 控制台实用指南

文章插图
 
 
当然 , 图片也是可以的 , 读者可以自行尝试 , 修改上述代码即可 。
另外 , console.log() 接收不定参数 , 参数间用逗号分隔 , 最终会输出会将它们以空白字符连接 。
 
Chrome 控制台实用指南

文章插图
 
 
console.table
看着这种“黑魔法”是不是有种坑分的感觉呢 , 其实还不止哦!console.table可以让我们输出表格,示例:
var data = https://www.isolves.com/it/cxkf/bk/2019-08-08/{code:200,content:[{'品名': '杜雷斯', '数量': 4}, {'品名': '冈本', '数量': 3}]};console.table(data.content);
 
Chrome 控制台实用指南

文章插图
 
 
有的时候后端传回来一大串数据 , 是不是觉得直接console.log或是通过抓包工具查看都会让人晕头转向呢 , 这个时候正事console.table发挥作用的时候了 , 以表格的形式呈现数据 , 自然一目了然 。
console.assert
var isDebug=false;console.assert(isDebug,'开发中的log信息 。。。');
 
当你想代码满足某些条件时才输出信息到控制台 , 那么你大可不必写if或者三元表达式来达到目的 , cosole.assert便是这样场景下一种很好的工具 , 它会先对传入的表达式进行断言 , 只有表达式为假时才输出相应信息到控制台 。


推荐阅读