利用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 相关文章推荐
document.all与WEB标准
May 13 Javascript
js的with语句使用方法
Sep 21 Javascript
js 剪切板应用clipboardData详细解析
Dec 17 Javascript
用原生js统计文本行数的简单示例
Aug 19 Javascript
js与jquery分别实现tab标签页功能的方法
Nov 18 Javascript
详解各版本React路由的跳转的方法
May 10 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
Apr 02 Javascript
详解VUE调用本地json的使用方法
May 15 Javascript
Vue Autocomplete 自动完成功能简单示例
May 25 Javascript
vue组件内部引入外部js文件的方法
Jan 18 Javascript
详解Vue template 如何支持多个根结点
Feb 10 Javascript
vue-cli3配置favicon.ico和title的流程
Oct 27 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
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
2014/07/11 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
PHP实现网站应用微信登录功能详解
2019/04/11 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
AngularJS与BootStrap模仿百度分页的示例代码
2018/05/23 Javascript
jQuery中each遍历的三种方法实例分析
2018/09/07 jQuery
vue 左滑删除功能的示例代码
2019/01/28 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
python 常用的基础函数
2018/07/10 Python
python elasticsearch环境搭建详解
2019/09/02 Python
python switch 实现多分支选择功能
2020/12/21 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
德国自行车商店:Tretwerk
2019/06/21 全球购物
毕业自荐信
2013/12/16 职场文书
开会迟到检讨书
2014/01/08 职场文书
护理助产毕业生的求职信
2014/03/02 职场文书
我的梦中国梦演讲稿
2014/04/23 职场文书
雨花台导游词
2015/02/06 职场文书
刑事申诉状范文
2015/05/20 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
用javascript制作qq注册动态页面
2021/04/14 Javascript
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS