前端奇技淫巧之js调试

console详情

个人博客:lihai-boop.github.io

上班写bug,下班修bug。调试在日常开发中占大半,相信小伙伴们和我一样,调试只会用console.log。今天我们一起学习其他js调试工具,帮忙我们提高效率。

首先看下console对象中有什么我们不知道的方法

前端奇技淫巧之js调试_第1张图片

哎呀,不看不知道,一看吓一跳。简单的console居然有这么多方法!

console.log()

相信小伙伴们会拍着胸口说:不就是简单的输出吗?console.log("Hello World")js入门级别的代码。

但console.log()还有其他好玩小窍门

占位符:

%s 对字符串进行占位
在这里插入图片描述

%o 对对象进行占位
前端奇技淫巧之js调试_第2张图片
%d 对数字类型进行占位,这个就不演示了

%c css占位符,利用console.log输出内容可以携带css样式
前端奇技淫巧之js调试_第3张图片

console.dir()

console.dir与log类似,不同之处在于dir打印对象的json表示形式
前端奇技淫巧之js调试_第4张图片

console.warn()

给生活添加色,console.warn()给控制台添一祙小黄色
前端奇技淫巧之js调试_第5张图片

console.table()

这个方法爽爽的不要不要的了,小伙伴们是否console.log输出过json数据,一长串,看得是眼花瞭乱。
前端奇技淫巧之js调试_第6张图片

当然这还没到眼花的地步,数据多了,对象属性多了,反正看着不爽
前端奇技淫巧之js调试_第7张图片

这点数据对比两种方法谁好,还不明显。

在看一种情况:我们只需要查看某个对象属性,不需要对象所有的属性都展示给我们看

console.tabel完美解决
前端奇技淫巧之js调试_第8张图片

不足之处在于:处理最多 1000 行的数据的能力,所以它可能并不适用于所有的数据集合。

console.assert()

console.assert当做log用只输出undefined,

assert第一个参数是一个boolean值。否则直接输出undefined

若为true,输出undefinend,其他参数并不鸟
在这里插入图片描述

若为false,输出Assertion failed:+其他参数
前端奇技淫巧之js调试_第9张图片

console.clear()

清空控制台

好像有点鸡肋,目前我找不到实际的用处

console.count()

写入count()在同一行与同一标签被调用的次数。

与它配套的console.countReset()重置计数
前端奇技淫巧之js调试_第10张图片
该方法可用于统计循环次数:

var arr = [1,2,3,2,...];
arr.forEach(()=>{
    console.count();//不传则默认用default
})

console.time()

启动一个新的计时器。调用console.timeEnd()停止计时器并将运行时间在控制台

console.time();
for(let i=0;i<1000;i++){}
console.timeEnd();

console.debug()

console.debug与log一样,但在不同浏览器中表现不同,下面是firefox与chrome中的展现

前端奇技淫巧之js调试_第11张图片

前端奇技淫巧之js调试_第12张图片

console.error()

将对象打印到控制台,将其格式化为错误,并包括堆栈跟踪
前端奇技淫巧之js调试_第13张图片

console.info()

与 console.log ()相同。

console.group(label)

可视化地将消息分组在一起,直到调用 console.groupEnd (label)。 当组最初登录到控制台时,使用 console.groupcollapped (label)将其折叠。

前端奇技淫巧之js调试_第14张图片

前端奇技淫巧之js调试_第15张图片

你可能感兴趣的:(前端)