首页 > PHP资讯 > HTML5培训技术 > console 让 js 调试更简单

console 让 js 调试更简单

HTML5培训技术
浏览器的控制台(console)是最重要的面板,主要作用是显示网页加载过程中产生各类信息。

 

  显示信息

 

1 console.log('hello world');
2 console.debug('debug');
3 console.info('信息');
4 console.error('错误');
5 console.warn('警告');

  最常用的就是 console.log 了。

 

  占位符

 

  console 对象还可以使用 printf 风格的占位符。不过只支持字符(%s)、整数(%d 或 %i)、浮点数(%f)、对象(%o)和 css 样式(%c)。

1 var person = {};
2 person.name = 'Jack';
3 person.age = 30;
4 console.log('%o', person);
5 console.log('%d年%d月%d日', 2016, 08, 23);
6 console.log('圆周率:%f', 3.1415926);
7 console.log('%c改变文本颜色''color:green;');

  信息分组

 

1 console.group("第一组信息");
2 console.log("第一组第一条");
3 console.log("第一组第二条");
4 console.groupEnd();
5 console.group("第二组信息");
6 console.log("第二组第一条");
7 console.log("第二组第二条");
8 console.groupEnd();
 

  查看对象的信息

 

  console.dir() 可以显示一个对象所有的属性和方法。

1 var person = {};
2 person.name = 'Jack';
3 person.age = 30;
4 person.talk = function(str) {
5     console.log(str);
6 }
7 console.dir(person);

 

  显示某个节点的内容

 

  console.dirxml() 用来显示网页的某个节点(node)所包含的 html/xml 代码

01 <!DOCTYPE html>
02 <html lang="en">
03 <head>
04     <meta charset="UTF-8">
05     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
06     <meta name="renderer" content="webkit">
07     <meta name="keywords" content="">
08     <meta name="description" content="">
09     <title>Document</title>
10 </head>
11 <body>
12     <table id="table">
13         <tr>
14             <td>1</td>
15             <td>2</td>
16             <td>3</td>
17         </tr>
18     </table>
19 </body>
20 </html>
21 <script>
22 var oTable = document.getElementById('table');
23 console.log(oTable);
24 </script>

  判断是否为真

 

  console.assert() 用来判断一个表达式或变量是否为真。如果结果为否,则在控制台输出一条相应信息,并且抛出一个异常。

1 console.assert(1);
2 console.assert(1 === 2);

 

  追踪函数的调用轨迹

 

  console.trace() 用来追踪函数的调用轨迹。

01 function add(a, b) {
02     console.trace();
03     return a + b;
04 }
05 var x = add3(1, 1);  
06 function add3(a, b) {
07     return add2(a, b);
08 }  
09 function add2(a, b) {
10     return add1(a, b);
11 }  
12 function add1(a, b) {
13     return add(a, b);
14 }

  运行后,会显示 add() 的调用轨迹,从上到下依次为 add()、add1()、add2()、add3()。

 

  计时功能

 

  console.time() 和 console.timeEnd(),用来显示代码的运行时间。

1 console.time('计时器一');
2 for (var i = 0; i < 1000; i++) {
3     for (var j = 0; j < 1000; j++) {}
4 }
5 console.timeEnd('计时器一');

  性能分析

 

  性能分析(Profiler)就是分析程序各个部分的运行时间,找出瓶颈所在,使用的方法是console.profile()。

  假定有一个函数 Foo(),里面调用了另外两个函数 funcA() 和 funcB(),其中 funcA() 调用 10 次,funcB() 调用 1 次。

01 function Foo() {
02     for (var i = 0; i < 10; i++) {
03         funcA(1000);
04     }
05     funcB(10000);
06 }
07  
08 function funcA(count) {
09     for (var i = 0; i < count; i++) {}
10 }
11  
12 function funcB(count) {
13     for (var i = 0; i < count; i++) {}
14 }

  然后,就可以分析 Foo() 的运行性能了。

1 console.profile('性能分析器一');
2 Foo();
3 console.profileEnd();

南京HTML5课程

本文由欣才IT学院整理发布,未经许可,禁止转载。