调试必备---console

一、前言

  可能很多前端er会习惯用 alert() 方法来进行调试,但我相信更多的人会使用 console.log(),因为它不用像 alert() 那样会有字符长度限制,也不会中止程序的进程,而且还可以同时输出多条信息,当然各有各的好处。之前,我还一直以为只有 console.log() 这一种方法可以在控制台输出信息,直到在早读君(前端早读课)推出的一篇《JavaScript中console 的用法》才发现原来,console 还有那么多方法。所以又查了一些相关的资料,以便全面具体的学习这些方法。好啦,废话不多说,咱们正文走起。

二、正文

  在 Chrome 浏览器控制台输入console,会输出 console对象的全部方法。

1、输出信息:console.log() 、 console.debug() 、 console.error() 、 console. warn() 、 console.info()  

  console.log() ---- 输出普通信息

  用法:console.debug(object [, object, ...])

  

  输出结果:

  

  细心的小伙伴会发现,当使用表达式输出字符串时,需要手动添加空格,而以逗号为间隔,输出多个变量时,console会在多个变量之间自动添加空格,使用时要注意哦!

  除此之外,console.log() 还可以像 C 语言一样,使用 printf 风格的占位符,但只支持字符(%s)、整数(%d 或 %i)、浮点数(%f)和对象(%o)这四种类型。

  console.debug() ---- 输出调试信息

  console.error() ---- 输出错误信息

  console. warn() ---- 输出警告信息

  console.info() ---- 输出提示性信息

  这四钟输出形式的使用方法和 console.log() 是一样的,只是表现形式不同。

  输出结果:

  

2、以分组形式输出打印结果: console.group() 、console.groupEnd() 、 console.groupCollapsed()

  console.group() 、console.groupCollapsed() ---- 分组开始

  console.groupEnd() ---- 分组结束

  用法:console.group(object[, object, ...])

     console.groupCollapsed(object[, object, ...])

     console.groupEnd()

  使用相同的 label 进行分组输出,若将代码中 console.group() 换成 console.groupCollapsed(),则默认按组折叠输出。

  

  输出结果:

  

3、统计代码运行时间:console.time() 、 console.timeEnd()

  console.time() ---- 开始计时

  console.timeEnd() ---- 结束计时

  用法:console.time(label)

     console.timeEnd(label)

  主要用于了解一段代码执行所需时间,具体运行时间也不完全取决于代码,和用户所使用的浏览器也是有一定关系的。

  

  Chrome 运行结果:

  

  Firefox 运行结果:

  

4、统计代码运行次数:console.count()

  用法:console.count(label)

   console.count() 被调用时,可以统计出同一标签被调用的次数。

  

  运行结果:

  

5、判断某个变量或者表达式的真假:console.assert()

  用法:console.assert(expression, object)

  当 expression 判定失败时,会输出 object

  当 expression 判定成功时,不输出任何内容

  如果不输入 object 的话,浏览器也不会报错,只是会显示出 console.assert() , 如下图所示。

  

  运行结果:

  

6、输出对象:console.dir()

  用法:console.dir(object)

  只是简单的输出某个对象时,console.dir() 在 Chrome 中的输出效果和 console.log() 类似,手动展开后,完全一样。

  

  输出结果:

  

  展开后:

  

  我们再来看下,Firefox中的显示结果:

  

  看起来结构更加清晰,但基本和 Chrome 是一样。你以为这就是 console.dir() 的全部用途啦?错,当 console.dir() 中的参数为 HTML 节点时, console.log() 会以HTML文档的形式输出,而console.dir() 则会 Json 的结构输出,便于查看各个方法及属性值。

  

  输出结果:

  

  再来看下 FireFox中的输出结果:

  

  基本是一样的。

7、显示某个节点所包换的 html/xml 代码:console.dirxml()

  用法:console.dirxml(object)

  

  

  输出结果:

  

  

  

参考文档:

JavaScript 中 console 的用法 ( https://zhuanlan.zhihu.com/p/23080626 )

Chrome 控制台console的用法 (http://www.open-open.com/lib/view/open1421131601390.html)

js调试工具Console命令详解 (http://www.jb51.net/article/56504.htm)

Google API:

https://developers.google.com/web/tools/chrome-devtools/console/console-reference?utm_source=dcc&utm_medium=redirect&utm_campaign=2016q3

时间: 2024-10-29 08:18:07

调试必备---console的相关文章

JS调试必备的5个debug技巧

JS调试必备的5个debug技巧 我一直使用printf调试程序,一般来说都是比较顺利,但有时候,你会发现需要更好的方法.下面几个JavaScript技巧相信你一定会觉得十分有用 1. debugger; 我以前也说过,你可以在JavaScript代码中加入一句debugger;来手工造成一个断点效果.需要带有条件的断点吗?你只需要用if语句包围它: 复制代码代码如下: if (somethingHappens) { debugger; } 但要记住在程序发布前删掉它们. 2. 设置在DOM n

javascript 调试 使用console.table()

或许你已经习惯了console.log()来调试js,非常使用,但是今天微博看到console.table()调试javascript,和console.log()类似,主要区别在于: 主要用来输出对象和数组;更加直接的可视化,以表格形式展现;可以单独输出某个或某几个属性: var languages = { csharp: { name: "C#", paradigm: "object-oriented" }, fsharp: { name: "F#&q

firebug的调试,console

console.log() console.warn()  警告 console.error()  错误 console.group()  分组 console.grounpEnd() 分组结束 console.dir()   输出所有信息 var cat = {}; cat.name = "mm"; cat.sex = "male"; cat.show = function(){ return 'aa'; }; console.log(cat) //只会显示nam

Chrome浏览器调试,console详解

作为一个前端开发者,不可避免的需要进行各种各样的调试. 在谷歌浏览器出来以前,火狐的firebug是特别有名的一款调试工具,不过自从谷歌浏览器诞生以来,其自带的开发者工具足以媲美firebug,某种程度上甚至超越了firebug. 虽然这篇介绍谷歌调试工具,但是还是要说一句,火狐的调试工具依然强大.二者都是业界调试工具的佼佼者. 谷歌开发者工具功能丰富,包括代码审查,样式调整,性能优化以及其他更高级的功能,调试方式多种多样,不一而足. 这里主要介绍控制台的console 打开控制台 Window

【转】JS调试必备的5个debug技巧

我一直使用printf调试程序,一般来说都是比较顺利,但有时候,你会发现需要更好的方法.下面几个JavaScript技巧相信你一定会觉得十分有用 1. debugger; 我以前也说过,你可以在JavaScript代码中加入一句debugger;来手工造成一个断点效果.需要带有条件的断点吗?你只需要用if语句包围它: 复制代码代码如下: if (somethingHappens) { debugger; } 但要记住在程序发布前删掉它们. 2. 设置在DOM node发生变化时触发断点 有时候你

[QT_QML]qml假如调试信息 qDebug console.debug

WinSys: win7 Qt Version: 5.8.0 使用Console调试 console.log 打印日志信息console.debug 打印调试信息console.info 打印普通信息console.warn 打印警告信息console.error 打印错误信息 参考资料: Qt QML — 调试QML程序 : http://www.tuicool.com/articles/Q3q2im Debugging QML Applications : http://doc.qt.io/

生产环境中系统调试--BTrace

BTrace是sun公司推出的一款Java 动态.安全追踪(监控)工具,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数.返回值.全局变量和堆栈信息等,并且做到最少的侵入,占用最少的系统资源. 由于Btrace会把脚本逻辑直接侵入到运行的代码中,所以在使用上做很多限制:1.不能创建对象2.不能使用数组3.不能抛出或捕获异常4.不能使用循环5.不能使用synchronized关键字6.属性和方法必须使用static修饰 根据官方声明,不恰当的使用BTrace可能导

Window10中利用Windbg与虚拟机(window7)中调试驱动建立方法

想起自己的windbg配置就转载:eqera的windows内核调试配置,真的是获益良多希望他不会介意我转载他的博客,帮了我很多,记录下来给我也给大家, 其中我主要看的是VMWare的pipe建立,而我有些分享是在vs2015中打上DDK,然后在开始菜单window kits下找见windbgx86或者是你想要用的类型,然后 发送快捷方式到桌面利于以后用.发到桌面后,在属性插入你放置的的符号的路径,让然最后别忘了在windbg检查路径是否正确. eqera他的解述给了我很多帮助,可以耐心解读.下

一探前端开发中的JS调试技巧

前言:调试技巧,在任何一项技术研发中都可谓是必不可少的技能.掌握各种调试技巧,必定能在工作中起到事半功倍的效果.譬如,快速定位问题.降低故障概率.帮助分析逻辑错误等等.而在互联网前端开发越来越重要的今天,如何在前端开发中降低开发成本,提升工作效率,掌握前端开发调试技巧尤为重要. 本文将一一讲解各种前端JS调试技巧,也许你已经熟练掌握,那让我们一起来温习,也许有你没见过的方法,不妨一起来学习,也许你尚不知如何调试,赶紧趁此机会填补空白. 骨灰级调试大师Alert 那还是互联网刚刚起步的时代,网页前