作者:追风神驹体育专营_462 | 来源:互联网 | 2023-09-15 03:59
译者按:我们往往会范围在本身熟习的学问圈,但也应担偶然拓展一下,运用一些不常见而又有效的技能,扩展本身的温馨圈。原文:10TipsforJavascriptDebuggingLik
译者按: 我们往往会范围在本身熟习的学问圈,但也应担偶然拓展一下,运用一些不常见而又有效的技能,扩展本身的温馨圈。
- 原文: 10 Tips for Javascript Debugging Like a PRO with Console
- 译者: Fundebug
为了保证可读性,本文采纳意译而非直译。别的,本文版权归原作者一切,翻译仅用于进修。
![《10个用Console来Debug的高等技能》](https://img.php1.cn/3cd4a/18ace/696/1d8e759bd3e6bbec.jpeg)
在过去的十年中,我最热中的事变之一就是前端开辟(特别是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。
![《10个用Console来Debug的高等技能》](https://img.php1.cn/3cd4a/1eebe/cd5/617c1173853af4b6.webp)
2. console.time() && console.timeEnd()
假如你想剖析函数的机能,能够运用console.time()
来计时,console.timeEnd()
来完毕计时,控制台会打印出两次之间的时间差。
![《10个用Console来Debug的高等技能》](https://img.php1.cn/3cd4a/1e618/bdf/129913486c37ddf6.jpeg)
3. console.memory
假如你发明机能题目很难剖析,能够还要斟酌是不是有内存泄漏,你能够运用console.memory
(注重memory是console的属性,不是函数),来检察当前的堆的运用情况。
![《10个用Console来Debug的高等技能》](https://img.php1.cn/3cd4a/1eebe/cd5/086aec93f5e1e9b2.webp)
Fundebug助你更好地debug,迎接试用!
4. console.profile(‘profileName’) & console.profileEnd(‘profileName’)
虽然不是一个规范的做法,不过被普遍接收运用。你能够运用这两个敕令来启动和住手profiling。如许有助你你在代码中做精准的profiling。而不依赖于手动的鼠标点击。你能够在浏览器控制台Javacript Profiler
中找到方才的profile。
![《10个用Console来Debug的高等技能》](https://img.php1.cn/3cd4a/1eebe/cd5/857a46d091981bac.webp)
5. console.count(“STUFF I COUNT”)
有时候为了纪录一个函数或则一段代码反复实行了多少次,能够运用console.count('?')
来纪录。每一次实行到该代码,就会自动加1。
![《10个用Console来Debug的高等技能》](https://img.php1.cn/3cd4a/1eebe/cd5/99b88427bc9ce0dc.webp)
6. console.assert(false, “Log me!”)
你能够运用console.assert
来在某些为假的条件下输出音讯,而不是用if-else。
注重:在Node.js下会报错(Assertion Error)。
![《10个用Console来Debug的高等技能》](https://img.php1.cn/3cd4a/1eebe/cd5/443b30bb45e66690.webp)
7. console.group(‘group’) & console.groupEnd(‘group’)
假如你想对打印的log做一个格式化的整顿,能够运用console.group()
和console.groupEnd()
。运用console.group能够将log聚合成组,而且构成嵌套的层级。请看示例:
![《10个用Console来Debug的高等技能》](https://img.php1.cn/3cd4a/1eebe/cd5/67cc2e96eddffff8.png)
8. String substitutions
你能够运用console.log
打印变量(%s = string, %i = integer, %o = object, %f = float)。
![《10个用Console来Debug的高等技能》](https://img.php1.cn/3cd4a/1eebe/cd5/21e585a7e21fc7dc.png)
9. console.clear()
我们已经在控制台输出了许多纪录,来运用console.clear()
清空一下。
![《10个用Console来Debug的高等技能》](https://img.php1.cn/3cd4a/1eebe/cd5/d84f9786330d9e41.png)
10. console.table()
末了一个压轴的!你能够运用console.table()
将对象以表格的情势打印出来。
![《10个用Console来Debug的高等技能》](https://img.php1.cn/3cd4a/1eebe/cd5/ddcc574beb16294e.jpeg)
关于Fundebug
Fundebug专注于Javascript、微信小顺序、微信小游戏、支付宝小顺序、React Native、Node.js和Java及时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了7亿+毛病事宜,得到了Google、360、金山软件、百姓网等浩瀚着名用户的承认。迎接免费试用!
![《10个用Console来Debug的高等技能》](https://img.php1.cn/3cd4a/94ce/a6e/865776f6fe3d5f59.jpeg)
版权声明
转载时请说明作者Fundebug以及本文地点:
https://blog.fundebug.com/2018/03/19/10-tips-for-debugging-with-console/