A-A+

js调试工具Console命令详解

2015年12月11日 前端设计 暂无评论 阅读 10 views 次

每种语言都有其自己的调试命令,asp 语言有,php 语言也有,在 php 中也称为打印语句,可以很方便的发现自己语法的错误以及及时的进行调整,而在我们美工的前台,js 也有其自己的调试工具,可以很方便的帮助自己观察语法的动态,只要合理的使用这些调试命令,就会很容易的发现自己语法中的小 bug,对于提高代码写作有很大的帮助,之前不太善于使用调试工具,一个小问题可能要花费很大的精力去琢磨。。

一、显示信息的命令

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <title>常用console命令</title>  
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  6. </head>  
  7. <body>  
  8. <script type="text/javascript">  
  9. console.log('hello');  
  10. console.info('信息');  
  11. console.error('错误');  
  12. console.warn('警告');  
  13. </script>  
  14. </body>  
  15. </html>  

最常用的就是console.log了。

二:占位符

console上述的集中度支持printf的占位符格式,支持的占位符有:字符(%s)、整数(%d或%i)、浮点数(%f)和对象(%o)代码如下:

  1. <script type="text/javascript">  
  2. console.log("%d年%d月%d日",2011,3,26);  
  3. </script>  

效果:

三、信息分组

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <title>常用console命令</title>  
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  6. </head>  
  7. <body>  
  8. <script type="text/javascript">  
  9. console.group("第一组信息");  
  10.   
  11.     console.log("第一组第一条:我的XX(http://www.jb51.net)");  
  12.   
  13.     console.log("第一组第二条:xxx(http://jb51.net)");  
  14.   
  15.   console.groupEnd();  
  16.   
  17.       console.group("第二组信息");  
  18.   
  19.     console.log("第二组第一条:程序爱好者QQ群: 80535344");  
  20.   
  21.     console.log("第二组第二条:欢迎你加入");  
  22.   
  23.       console.groupEnd();  
  24. </script>  
  25. </body>  
  26. </html>  

效果:

四、查看对象的信息

console.dir()可以显示一个对象所有的属性和方法,代码如下:

  1. <script type="text/javascript">  
  2. var info = {  
  3. blog:"https://www.xiariboke.net",  
  4. QQGroup:0000000,  
  5. message:"程序爱好者欢迎你的加入"  
  6. };  
  7. console.dir(info);  
  8. </script>  

效果:

五、显示某个节点的内容

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

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <title>常用console命令</title>  
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  6. </head>  
  7. <body>  
  8. <div id="info">  
  9. <h3>我的博客:www.xiariboke.net</h3>  
  10. <p>程序爱好者:000000,欢迎你的加入</p>  
  11. </div>  
  12. <script type="text/javascript">  
  13. var info = document.getElementById('info');  
  14. console.dirxml(info);  
  15. </script>  
  16. </body>  
  17. </html>  

效果:

六、判断变量是否是真

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

  1. <script type="text/javascript">  
  2.   var result = 1;  
  3.   console.assert( result );  
  4.   var year = 2014;  
  5.   console.assert(year == 2018 );  
  6. </script>  

1是非0值,是真;而第二个判断是假,在控制台显示错误信息

七、追踪函数的调用轨迹。

console.trace()用来追踪函数的调用轨迹,代码如下:

  1. <script type="text/javascript">  
  2. /*函数是如何被调用的,在其中加入console.trace()方法就可以了*/  
  3.   function add(a,b){  
  4. console.trace();  
  5.     return a+b;  
  6.   }  
  7.   var x = add3(1,1);  
  8.   function add3(a,b){return add2(a,b);}  
  9.   function add2(a,b){return add1(a,b);}  
  10.   function add1(a,b){return add(a,b);}  
  11. </script>  

控制台输出信息:

八、计时功能

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

  1. <script type="text/javascript">  
  2.   console.time("控制台计时器一");  
  3.   for(var i=0;i<1000;i++){  
  4.     for(var j=0;j<1000;j++){}  
  5.   }  
  6.   console.timeEnd("控制台计时器一");  
  7. </script>  

运行时间是38.84ms

九、console.profile()的性能分析

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

  1. <script type="text/javascript">  
  2.   function All(){  
  3. alert(11);  
  4.          for(var i=0;i<10;i++){  
  5. funcA(1000);  
  6. }  
  7.         funcB(10000);  
  8.       }  
  9.   
  10.   function funcA(count){  
  11.     for(var i=0;i<count;i++){}  
  12.   }  
  13.   
  14.   function funcB(count){  
  15.     for(var i=0;i<count;i++){}  
  16.   }  
  17.   
  18.   console.profile('性能分析器');  
  19.   All();  
  20.   console.profileEnd();  
  21. </script>  

说明一下,LZ测试时,在All()中未加alert,控制条没有输出,加上了之后,就有了一张性能分析表,暂时不清楚原因,若你知道,可以评论。

标签:

给我留言