热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

10个用Console来Debug的高等技能

译者按:我们往往会范围在本身熟习的学问圈,但也应担偶然拓展一下,运用一些不常见而又有效的技能,扩展本身的温馨圈。原文:10TipsforJavascriptDebuggingLik

译者按: 我们往往会范围在本身熟习的学问圈,但也应担偶然拓展一下,运用一些不常见而又有效的技能,扩展本身的温馨圈。

  • 原文: 10 Tips for Javascript Debugging Like a PRO with Console
  • 译者: Fundebug

为了保证可读性,本文采纳意译而非直译。别的,本文版权归原作者一切,翻译仅用于进修。

《10个用Console来Debug的高等技能》

在过去的十年中,我最热中的事变之一就是前端开辟(特别是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的高等技能》

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

假如你想剖析函数的机能,能够运用console.time()来计时,console.timeEnd()来完毕计时,控制台会打印出两次之间的时间差。

《10个用Console来Debug的高等技能》

3. console.memory

假如你发明机能题目很难剖析,能够还要斟酌是不是有内存泄漏,你能够运用console.memory(注重memory是console的属性,不是函数),来检察当前的堆的运用情况。

《10个用Console来Debug的高等技能》

Fundebug助你更好地debug,迎接试用!

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

虽然不是一个规范的做法,不过被普遍接收运用。你能够运用这两个敕令来启动和住手profiling。如许有助你你在代码中做精准的profiling。而不依赖于手动的鼠标点击。你能够在浏览器控制台Javacript Profiler中找到方才的profile。

《10个用Console来Debug的高等技能》

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

有时候为了纪录一个函数或则一段代码反复实行了多少次,能够运用console.count('?')来纪录。每一次实行到该代码,就会自动加1。

《10个用Console来Debug的高等技能》

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

你能够运用console.assert来在某些为假的条件下输出音讯,而不是用if-else。
注重:在Node.js下会报错(Assertion Error)。

《10个用Console来Debug的高等技能》

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

假如你想对打印的log做一个格式化的整顿,能够运用console.group()console.groupEnd()。运用console.group能够将log聚合成组,而且构成嵌套的层级。请看示例:

《10个用Console来Debug的高等技能》

8. String substitutions

你能够运用console.log打印变量(%s = string, %i = integer, %o = object, %f = float)。

《10个用Console来Debug的高等技能》

9. console.clear()

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

《10个用Console来Debug的高等技能》

10. console.table()

末了一个压轴的!你能够运用console.table()将对象以表格的情势打印出来。

《10个用Console来Debug的高等技能》

关于Fundebug

Fundebug专注于Javascript、微信小顺序、微信小游戏、支付宝小顺序、React Native、Node.js和Java及时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了7亿+毛病事宜,得到了Google、360、金山软件、百姓网等浩瀚着名用户的承认。迎接免费试用!

《10个用Console来Debug的高等技能》

版权声明

转载时请说明作者Fundebug以及本文地点:
https://blog.fundebug.com/2018/03/19/10-tips-for-debugging-with-console/


推荐阅读
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • 重要知识点有:函数参数默许值、盈余参数、扩大运算符、new.target属性、块级函数、箭头函数以及尾挪用优化《深切明白ES6》笔记目次函数的默许参数在ES5中,我们给函数传参数, ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • Hadoop平台警告解决:无法加载本机Hadoop库的全面应对方案
    本文探讨了在Hadoop平台上遇到“无法加载本机Hadoop库”警告的多种解决方案。首先,通过修改日志配置文件来忽略该警告,这一方法被证明是有效的。其次,尝试指定本地库的路径,但未能解决问题。接着,尝试不使用Hadoop本地库,同样没有效果。然后,通过替换现有的Hadoop本地库,成功解决了问题。最后,根据Hadoop的源代码自行编译本地库,也达到了预期的效果。以上方法适用于macOS系统。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 本文深入探讨了JavaScript中`this`关键字的多种使用方法和技巧。首先,分析了`this`作为全局变量时的行为;接着,讨论了其在对象方法调用中的表现;然后,介绍了`this`在构造函数中的作用;最后,详细解释了通过`apply`等方法改变`this`指向的机制。文章旨在帮助开发者更好地理解和应用`this`关键字,提高代码的灵活性和可维护性。 ... [详细]
  • 在深入研究 React 项目的过程中,特别是在探索 react-router 源码时,我发现了其中蕴含的中间件概念。这激发了我对中间件的进一步思考与整理。本文将详细探讨 Redux 中间件的原理及其在实际项目中的应用,帮助读者更好地理解和使用这一强大工具。通过具体示例和代码解析,我们将揭示中间件如何提升应用的状态管理和异步操作处理能力。 ... [详细]
  • 本文源自极分享,详细内容请参阅原文。技术债务如同信用卡负债,随着时间推移,修复成本会越来越高,因此程序员必须对此有深刻认识。此外,团队应致力于培养一种持续维护和优化代码的文化,以减少技术债务的累积。 ... [详细]
  • 在使用 `useSelector` 选择器时,发现分派操作后状态未能实时更新。这可能是由于 React 组件的渲染机制或 Redux 的状态管理问题导致的。建议检查 `useSelector` 的依赖项和 `dispatch` 的调用时机,确保状态变化能够正确触发组件重新渲染。此外,可以考虑使用 `useEffect` 钩子来监听状态变化,以确保及时更新。 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 经过半年的精心整理,我们汇总了当前市场上最全面的Android面试题解析,为移动开发人员的晋升和加薪提供了宝贵的参考资料。本书详细涵盖了从基础到高级的各类面试题,帮助读者全面提升技术实力和面试表现。章节目录包括:- 第一章:Android基础面试题- 第二章:... ... [详细]
  • RxJava 中 Observable.singleElement() 方法详解与实例代码分析 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
author-avatar
追风神驹体育专营_462
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有