当前位置: 首页 > 科技观察

前端技巧js调试

时间:2023-03-13 22:12:08 科技观察

上班写bug,下班修bug。调试占了日常开发的大部分时间。相信小伙伴们和我一样,调试的时候只会使用console.log。今天我们就一起学习其他的js调试工具,帮助我们提高效率。首先,让我们看看控制台对象中有哪些我们不知道的方法。呵呵,不看不知道。当我看到它时,我感到震惊。简单的控制台竟然有这么多方法!console.log()相信小伙伴们都会拍着胸脯说:不就是简单的输出吗?console.log("HelloWorld")js入门级代码。但是console.log()还有其他有趣的小技巧占位符:%s是字符串的占位符%o是对象的占位符%d是数字类型的占位符,这不会演示%ccss占位符字符,使用console.log输出内容可以携带css样式console.dir()console.dir类似于log,不同的是dir打印的是对象的json表示console.warn()给生活增添色彩,console.warn()加一个小黄console.table()方法到控制台。这种方法很酷而且没有必要。你们console.log输出json数据了吗?列表很长,令人困惑。当然,这还没有到眼花缭乱的地步。数据和对象属性太多。反正这两种方法哪一种比这个数据好还不是很明显。看一个情况:我们只需要查看某个对象的属性,不需要把这个对象的所有属性都展示给我们看。控制台。适用于所有数据集。console.assert()console.assert作为日志使用,只输出undefined,assert的第一个参数是布尔值。否则直接输出undefined如果为真则输出undefined,其他参数为假则输出Assertionfailed:+otherparametersconsole.clear()清空控制台好像有点鸡肋,找不到console的实际使用.count()写入在具有相同标签的同一行上调用count()的次数。其匹配的console.countReset()会重置count这个方法可以用来统计循环次数:vararr=[1,2,3,2,...];arr.forEach(()=>{console.count();//不传则默认})console.time()默认会用来启动一个新的定时器。调用console.timeEnd()停止定时器,将运行时间放入控制台console.time();for(leti=0;i<1000;i++){}console.timeEnd();console.debug()console.debug与日志相同,但在不同的浏览器中表现不同,这是它在firefox和chrome中的样子console.error()将对象打印到控制台,将其格式化为错误,并包括堆栈跟踪)和控制台。log()是一样的。console.group(label)在视觉上将消息分组在一起,直到调用console.groupEnd(label)。当组最初登录到控制台时,使用console.groupcolapped(label)将其折叠。