作为一个前端开发者,不可避免的需要进行各种各样的调试。

在谷歌浏览器出来以前,火狐的firebug是特别有名的一款调试工具,不过自从谷歌浏览器诞生以来,其自带的开发者工具足以媲美firebug,某种程度上甚至超越了firebug。

虽然这篇介绍谷歌调试工具,但是还是要说一句,火狐的调试工具依然强大。二者都是业界调试工具的佼佼者。

谷歌开发者工具功能丰富,包括代码审查,样式调整,性能优化以及其他更高级的功能,调试方式多种多样,不一而足。

这里主要介绍控制台的console

打开控制台

Windows系统快捷键【三个】:

F12

Ctrl+shift+i

Ctrl+shift+j

鼠标操作1:如图【是不是多余了?】

鼠标操作2:在网页上任意位置右键,最后一个选项:检查,如图

打开后,可以看到这样的界面

上面的不同的单词:Elements,Console,Source,Network等等,分别针对不同的功能面板。我们这里主要介绍Console面板。

上面的图上一大片空白,就是console面板输入区域。可以在这里直接输入JavaScript代码。网页中的报错信息,提示信息等也都会出现在这里。

console是浏览器开发者工具自带的API,并不是JavaScript原生对象。不过目前所有主流的浏览器均支持。可以在js代码中用console输出信息。

现在我们在面板里面输入console。

可以看到console对象有这么多方法。

先来看以下五个方法:

console.log

console.error

console.info

console.warn

console.debug
这五个方法是我们比较常用的方法,也算是比较直观的方法。这几个方法的区别就是输出的结果的颜色不一样,还有输出结果前面的提示符号不同。具体如何,请按如下代码测试,讲log换成对应的info,warn,debug,error

关于这五个方法,有如下几点:

1.都可以输出任意类型的值,字符串,数值,对象,数组,函数;

console.log(100);
console.log("pelli");
console.log(function hh(){});
console.log([1,2,3]);
console.log({name:'pelli'});
console.log(null);
console.log(undefined);
console.log(true);

2.都可以有任意多个参数(65535个以内),可以运行以下代码,查看效果。顺便提一下,65535是一个特别的数字,有兴趣可以百度一下;

var str = 'console.log("hello"';

for(var i = 0; i < 100000; i++){
str = str + "," + i;
} str += ');';
eval(str);

3.都可以用占位符进行格式化输出,比如输出带样式的字符串,输出图片等。

一共有四种占位符:

浮点:%f

字符:%c

整数:%d或%i

对象:%o

请看以下代码:代码中的log可以和warn,info,debug,error随意互换

//输出带有样式的文字
console.log("%c这是蓝色的20号字","color:blue;font-size:20px;");
//输出图片
console.log("%c","background:url('http://www.baidu.com/img/tupian.jpg')");
//格式化输出日期
console.log("今天是%i年%i月%i日",2016,05,04);
//输出小数
console.log("%f是圆周率",3.141592653);
var obj = {
  name : 'pelli',
  age : 24
}
console.log("%o",obj);

除了console.log外,还有其他很多方法。上面的图片中列出的是所有的方法。

 console.count();

这个方法是用来记录该行所在的代码是第几次执行。一般写在循环和函数中。每一次执行到这一行的时候,都会在控制台输出一个数值----在前一个数值基础上加一。有一个可选参数,可选参数是任意值(字符串,数字,对象,数组,函数,null,undefined,布尔值,正则表达式),参数会输出在数字前面的冒号之前。

其输出结果一定会有一个冒号,冒号后面紧紧跟着数字。

也就是说,如果没有参数的话,会输出一个冒号和一个数字。

在函数中写这个方法,可以记录该函数是第几次被调用。

console.dir()

用于输出一个对象。

console.dirxml()

输出dom对象

console.clear()

清空控制台信息,执行该方法,会清空控制台中的所有之前的输出信息

console.assert()

输出断言消息

console.assert( < ,"该断言是正确的断言,所以不会有任何输出");

console.assert( > ,"这句话是断言出错后输出的信息");

var a = ;

console.assert(a%===,"断言有两个参数,第一个是必须参数,断言语句,第二个参数是可选语句,断言出错后输出的信息,如果断言正确,则不输出断言");

console.trace()

跟踪该函数调用链,会输出该函数被哪些函数调用过。以下是谷歌浏览器效果。

格式化输出数组或者对象:console.table()

console.table可以以表格形式输出数组或者对象,最好的数组格式是一维数组,每个元素都是一个类json对象,最好的对象格式是类json对象,每个属性的值都是相同元素个数的数组。

其他的是有关于性能方面的信息输出。

输出代码执行的时间。

console.time()

console.timeEnd();

console.time()和console.timeEnd()通常会一起使用,console.time()表示计时开始,console.timeEnd()表示计时结束,二者传递相同的参数,用以表示同一个计时标记

二者可以嵌套使用。

显示代码执行过程中性能的情况

console.profile()

console.profileEnd()

通常这两个方法也是一起使用,二者都有一个可选的相同参数,表示记录标记。

输出的结果会再控制台,profile 栏显示。

分组显示:

console.group()

console.groupEnd()

console.group("kill");
console.log("hello");
console.error("pgp");
console.info("llllll",4545);
console.groupEnd("kill"); console.group("oo");
var c = {"name" : 'fff',"age" : 23};
console.dir(c);
console.info("hah");
console.groupEnd("oo");

效果如图:

以上两个方法可以将输出的信息分组显示;儿者都有一个可选的参数,表示分组标记。可以嵌套使用。

总结:

提示信息:console.info()

警告提示:console.warn()

报错提示:console.error()

基本输出:console.log();

调试输出:console.debug()

代码跟踪:console.trace()

代码执行次数统计:console.count()

对象输出:console.dir()

输出DOM节点:console.dirxml()

输出代码执行时间:console.time(),console.timeEnd()

输出代码细节:console.profile(),console.profileEnd()

分组输出信息:console.group(),console.groupEnd()

格式化输出数组或对象:console.table()

清空控制台:console.clear()

以上是对于控制台console对象的简单介绍。

由于本人技术水平有限,对于不完善的地方,还望见谅,欢迎大家留言交流。本人QQ:2653807423。

Chrome浏览器调试,console简述的更多相关文章

  1. Google Chrome浏览器调试入门————转载只为自己查看方便

    Google Chrome浏览器调试 作为Web开发人员,我为什么喜欢Google Chrome浏览器 [原文地址:http://www.cnblogs.com/QLeelulu/archive/20 ...

  2. chrome浏览器调试功能之后端篇

    作为后端开发人员,可能有很多同学不怎么了解chrome调试功能,而即将成为大神的我们,怎么也得会,知其然更要知其所以然,今天我带领大家好好的梳理一下,chrome浏览器调试,个人把它分成了前端功能和后 ...

  3. flex chrome浏览器调试flex程序

    flex chrome浏览器调试出现空白的解决方法: 1,为chrome安装flash player,禁用chrome自带的flash player:参考:http://www.jb51.net/ar ...

  4. chrome浏览器调试线上文件映射本地文件

    chrome浏览器调试线上文件映射本地文件 通过ReRes让chrome拥有路径映射的autoResponse功能. 前端开发过程中,经常会有需要对远程环境调试的需求.比如,修改线上bug,开发环境不 ...

  5. 前端chrome浏览器调试总结

    引言 "工欲善其事,必先利其器" 恩,这句话我觉得说的特别有道理,举个例子来说吧,厉害的化妆师都有一套非常专业的刷子,散粉刷负责定妆,眼影刷负责打眼影,各司其职,有了专业的工具才能 ...

  6. Google Chrome浏览器调试功能介绍

    作为Web开发人员,我为什么喜欢Google Chrome浏览器 [原文地址:http://www.cnblogs.com/QLeelulu/archive/2011/08/28/2156402.ht ...

  7. 前端chrome浏览器调试

    引言 "工欲善其事,必先利其器" 恩,这句话我觉得说的特别有道理,举个例子来说吧,厉害的化妆师都有一套非常专业的刷子,散粉刷负责定妆,眼影刷负责打眼影,各司其职,有了专业的工具才能 ...

  8. Chrome浏览器调试技巧

    本文主要讲解针对chrome浏览器的调试方案,对于其他浏览器其实大同小异. 先来入门一点的 DOM元素调试 看上图: 以上图表明的1,2,3,4,5标记说明: 1,为移动设备模拟器,chorme现在是 ...

  9. 【转】Google Chrome浏览器调试

    作为Web开发人员,我为什么喜欢Google Chrome浏览器 [原文地址:http://www.cnblogs.com/QLeelulu/archive/2011/08/28/2156402.ht ...

  10. Google Chrome浏览器调试

    作为Web开发人员,我为什么喜欢Google Chrome浏览器 [原文地址:http://www.cnblogs.com/QLeelulu/archive/2011/08/28/2156402.ht ...

随机推荐

  1. UWP简单示例(二):快速开始你的3D编程

    准备 IDE:Visual Studio 2015 了解并学习:SharpDx官方GitHub 推荐Demo:SharpDX_D3D12HelloWorld 第一节 世界 世界坐标系是一个特殊的坐标系 ...

  2. div+css3绘制基本图形

    基本图形包括:矩形.圆角矩形.圆形.椭圆形.三角形.值线.弧 这些图形的绘制用到了CSS圆角属性,不考虑IE8. 下面的实现在chrome浏览器运行通过. 1.矩形 比较简单,通过CSS设置宽度.高度 ...

  3. R语言:常用统计检验

    统计检验是将抽样结果和抽样分布相对照而作出判断的工作.主要分5个步骤: 建立假设 求抽样分布 选择显著性水平和否定域 计算检验统计量 判定 -- 百度百科 假设检验(hypothesis test)亦 ...

  4. 有了大量微信用户,就不需要App了吗?

    小卢同学是我半年前在中关村车库咖啡认识的一个自由创业者,他从北航毕业后在一家IT上市公司只上了1年多的班就辞职创业了,他的创业项目属于国内度假旅游垂直细分领域:积累大量详细的旅游攻略,组成一个个温馨舒 ...

  5. xcode8 storyboard 控件显示错位

    升级xcode8 后选择device 为6s 出现上面的情况,控件显示异常.使用Update Frame 显示正常.不能选择Update Constraints   如果误选 commend + Z ...

  6. React Native 之 View使用

    前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...

  7. Elixir 1.0 Release

    如期而至,9.9苹果产品发布会之后,紧接着在今天(教师节)我们终于等到了Elixir 1.0,苹果范儿的说法是:Now,Elixir 1.0 is here   注意:官网上的链接说明之类还没有更新过 ...

  8. 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。

    当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式.比如 select * from T_Employee where FNumber not in ( select top 5*  ...

  9. GDB调试命令小结

    1.启动调试 前置条件:编译生成执行码时带上 -g,如果使用Makefile,通过给CFLAGS指定-g选项,否则调试时没有符号信息.gdb program //最常用的用gdb启动程序,开始调试的方 ...

  10. [Android] 怎么在应用中实现密码隐藏?

    [Android] 怎么在应用中实现密码隐藏? 在安卓应用中,用户注册或者登录时,需要把密码隐藏,实现一定的保密效果.在安卓中,可以通过设置EditText组件的TransformationMetho ...