利用Console来Debug的10个高级技巧汇总


Posted in Javascript onMarch 26, 2018

前言

在过去的十年中,我最热衷的事情之一就是前端开发(特别是JavaScript)。作为一个“匠人”,我喜欢专研各种工具。在本文,我会为你介绍一些用老式console来debug的技巧。

是的,我们都知道下面基本的技巧:

console.log(‘Hello World!');
console.info(‘Something happened…'); 
console.warn(‘Something strange happened…'); 
console.error(‘Something horrible happened…');

从现在开始,我将教会你一些你不知道的技巧,让你成为老司机!

1. console.trace()

如果你想知道消息是哪里打印出来的,使用console.trace()来获取要打印的数据的stacktrace。

利用Console来Debug的10个高级技巧汇总

2. console.time() && console.timeEnd()

如果你想分析函数的性能,可以使用console.time()来计时,console.timeEnd()来结束计时,控制台会打印出两次之间的时间差。

利用Console来Debug的10个高级技巧汇总

3. console.memory

如果你发现性能问题很难分析,可能还要考虑是否有内存泄露,你可以使用console.memory(注意memory是console的属性,不是函数),来查看当前的堆的使用情况。

利用Console来Debug的10个高级技巧汇总

4. console.profile(‘profileName') & console.profileEnd(‘profileName')

虽然不是一个标准的做法,不过被广泛接受使用。你可以使用这两个命令来启动和停止profiling。这样有助你你在代码中做精准的profiling。而不依赖于手动的鼠标点击。你可以在浏览器控制台Javacript Profiler中找到刚刚的profile。

利用Console来Debug的10个高级技巧汇总

5. console.count(“STUFF I COUNT”)

有时候为了记录一个函数或则一段代码重复执行了多少次,可以使用console.count('?')来记录。每一次执行到该代码,就会自动加1。

利用Console来Debug的10个高级技巧汇总

6. console.assert(false, “Log me!”)

你可以使用console.assert来在某些为假的条件下输出消息,而不是用if-else。

注意:在Node.js下会报错(Assertion Error)。

利用Console来Debug的10个高级技巧汇总

7. console.group(‘group') & console.groupEnd(‘group')

如果你想对打印的log做一个格式化的整理,可以使用console.group()console.groupEnd() 。使用console.group可以将log聚合成组,并且形成嵌套的层级。

请看示例:

利用Console来Debug的10个高级技巧汇总

8. String substitutions

你可以使用console.log打印变量(%s = string, %i = integer, %o = object, %f = float)。

利用Console来Debug的10个高级技巧汇总

9. console.clear()

我们已经在控制台输出了很多记录,来使用console.clear()清空一下。

利用Console来Debug的10个高级技巧汇总

10. console.table()

最后一个压轴的!你可以使用console.table()将对象以表格的形式打印出来。

利用Console来Debug的10个高级技巧汇总

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
js直接编辑当前cookie的脚本
Sep 14 Javascript
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
Apr 27 Javascript
html中的input标签的checked属性jquery判断代码
Sep 19 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
Oct 15 Javascript
JavaScript中“基本类型”之争小结
Jan 03 Javascript
js调用iframe实现打印页面内容的方法
Mar 04 Javascript
自写的jQuery异步加载数据添加事件
May 15 Javascript
js实现一个链接打开两个链接地址的方法
May 12 Javascript
简介JavaScript中toTimeString()方法的使用
Jun 12 Javascript
jQuery深拷贝Json对象简单示例
Jul 06 Javascript
vue-router 中router-view不能渲染的解决方法
May 23 Javascript
vue.js实现单选框、复选框和下拉框示例
Jul 18 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
Mar 26 #Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
Mar 26 #Javascript
Vue中v-show添加表达式的问题(判断是否显示)
Mar 26 #Javascript
使用Vue构建可重用的分页组件
Mar 26 #Javascript
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 #jQuery
jQuery实现的回车触发按钮事件功能示例
Mar 25 #jQuery
jQuery+Cookie实现切换皮肤功能【附源码下载】
Mar 25 #jQuery
You might like
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
jQuery 方法大全方便学习参考
2010/02/25 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
2017/04/18 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
NodeJs之word文件生成与解析的实现代码
2019/04/01 NodeJs
Vue Router的手写实现方法实现
2020/03/02 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
Python实现PS滤镜的万花筒效果示例
2018/01/23 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
python之随机数函数的实现示例
2020/12/30 Python
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
C#笔试题和英文面试题
2013/02/07 面试题
学前教育专业毕业生自荐信
2013/10/03 职场文书
幼儿园家长评语大全
2014/04/16 职场文书
计划生育证明书写要求
2014/09/17 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
签订劳动合同通知书
2015/04/16 职场文书
python pyhs2 的安装操作
2021/04/07 Python
OpenCV-Python实现油画效果的实例
2021/06/08 Python
MySQL快速插入一亿测试数据
2021/06/23 MySQL