调试必备---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
调试必备---console的更多相关文章
- 利用Nginx轻松实现Ajax的跨域请求(前后端分离开发调试必备神技)
利用Nginx轻松实现浏览器中Ajax的跨域请求(前后端分离开发调试必备神技) 前言 为什么会出现跨域? 造成跨域问题的原因是因为浏览器受到同源策略的限制,也就是说js只能访问和操作自己域下的资源,不 ...
- JS调试必备的5个debug技巧_javascript技巧
JS调试必备的debug调试javascript技巧 1. debugger; 我以前也说过,你可以在JavaScript代码中加入一句debugger;来手工造成一个断点效果.需要带有条件的断点吗? ...
- Chrome浏览器调试,console简述
作为一个前端开发者,不可避免的需要进行各种各样的调试. 在谷歌浏览器出来以前,火狐的firebug是特别有名的一款调试工具,不过自从谷歌浏览器诞生以来,其自带的开发者工具足以媲美firebug,某种程 ...
- JS调试必备的5个debug技巧
我一直使用printf调试程序,一般来说都是比较顺利,但有时候,你会发现需要更好的方法.下面几个JavaScript技巧相信你一定会觉得十分有用 1. debugger; 我以前也说过,你可以在J ...
- !学习笔记:前端测试 、前端调试、console 等
http://www.cnblogs.com/rubekid/p/4851988.html 你真的了解 console 吗 2014 http://www.codeceo.com/article/ja ...
- Javascript调试利器console的使用
一.Console API Console.assert() 判断第一个参数是否为真,false的话抛出异常并且在console输出相应信息. Console.count() 以参数为标识记录调用的次 ...
- 新一代调试王者Console
随着JS在Web前端中能做的事情越来越多,责任越来越大,而地位也越来越重要.传统的alert调试方式已经渐渐不能满足前端开发的种种场景.而且alert调试方式弹出的调试信息,那个窗口着实不太美观,而且 ...
- JavaScript调试中Console命令
JS调试中,用console.log 感觉比 alert 好用,不用弹出窗口,还要关闭.除了console.log()其他命令没怎么用过,先在这里记一下,用到时在看看 一.显示信息的命令 consol ...
- javascript 调试 使用console.table()
或许你已经习惯了console.log()来调试js,非常使用,但是今天微博看到console.table()调试javascript,和console.log()类似,主要区别在于: 主要用来输出对 ...
随机推荐
- Visual Studio 2013中因Browser Link引起的Javascript错误
参考文章:http://www.cnblogs.com/daxnet/archive/2013/10/27/3391146.html Browser Link功能会引起js异常.在调试右侧的三角下拉选 ...
- 【Android测试】UI自动化代码优化之路(临时发布, 随时删除)
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5993622.html 关于UI自动化的抱怨 听过不少人这样 ...
- vuejsLearn--- v-for列表渲染
Vue.js是一个构建数据驱动的web界面的库.重点集中在MVVM模式的ViewModel层,因此非常容易与其它库或已有项目整合 Vue.js 的核心是一个响应的数据绑定系统,它让数据与DOM保持同步 ...
- CentOS 7.2 安装配置Samba服务器
1背景 转Linux刚刚1年,vim操作还不能应对工程代码,之前一直都是Gnome桌面 + Clion 作开发环境,无奈在服务器上没有这样的环境, 看同事是(Windows)Source Insigh ...
- 第一篇:白话tornado源码之一个脚本引发的血案
本系列博文计划: 1.剖析基于Python的Web框架Tornado的源码 2.为Python开发一个完善的MVC框架 首先将带着大家一起来剖析基于python编写的Web框架 tornado ,本着 ...
- nginx 配置优化(简单)
配置文件 正常运行的必备配置: 1.user username [groupname]:(推荐nginx) 以那个用户身份运行,以在configure指定的用户 ...
- Android下Cocos2d创建HelloWorld工程
最近在搭建Cocos2d的环境,结果各种问题,两人弄了一天才能搞好一个环境-! -_-!! 避免大家也可能会遇到我这种情况,所以写一个随笔,让大家也了解下如何搭建吧- 1.环境安装准备 下载 tadp ...
- Could not find a getter for id in class 的异常
检查.hbm.xml里边的id是否大小写一致
- hdu 1556
Color the ball Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- 9月10日,美团网2014校招研发笔试哈尔滨站 1、链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现
// reverselink.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" struct Node{ int num; struct No ...