设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

Chrome控制台不完全指南

2014-9-17 14:41| 发布者: joejoe0332| 查看: 5142| 评论: 1|原作者: 刘哇勇|来自: cnblogs.com

摘要: Chrome的开发者工具已经强大到没朋友的地步了,特别是其功能丰富界面友好的console,使用得当可以有如下功效:更高「逼格」更快「开发调试」更强「进阶级的Frontender」; Bug无处遁形「Console大法好」…… ...


如果还不够过瘾,那咱们来log一些图片吧,甚至。。。动图?
对,你得先有图,我们拿这张图为例。

  1. console.log("%c", "padding:50px 300px;line-height:120px;background:url('http://wayou.github.io/2014/09/10/chrome-console-tips-and-tricks/rabbit.gif') no-repeat;");

 

看着上面摇摆的豆比兔是不是有种抽它一脸的冲动。

除此,console.table 更是直接以表格的形式将数据输出,不能赞得太多!
借用之前写过的一篇博文里的例子:

  1. var data = [{'品名': '杜雷斯', '数量': 4}, {'品名': '冈本', '数量': 3}];
  2. console.table(data);

 

另外,console.log() 接收不定参数,参数间用逗号分隔,最终会输出会将它们以空白字符连接。

  1. console.log('%c你好','color:red;','小明','你知道小红被妈妈打了么');

 

console.assert

当你想代码满足某些条件时才输出信息到控制台,那么你大可不必写if或者三元表达式来达到目的,cosole.assert便是这样场景下一种很好的工具,它会先对传入的表达式进行断言,只有表达式为假时才输出相应信息到控制台。

  1. var isDebug=false;
  2. console.assert(isDebug,'开发中的log信息。。。');

 

console.count

除了条件输出的场景,还有常见的场景是计数。
当你想统计某段代码执行了多少次时也大可不必自己去写相关逻辑,内置的console.count可以很地胜任这样的任务。

  1. function foo(){
  2. //其他函数逻辑blah blah。。。
  3. console.count('foo 被执行的次数:');
  4. }
  5. foo();
  6. foo();
  7. foo();

 

console.dir

将DOM结点以JavaScript对象的形式输出到控制台
而console.log是直接将该DOM结点以DOM树的结构进行输出,与在元素审查时看到的结构是一致的。不同的展现形式,同样的优雅,各种体位任君选择反正就是方便与体贴。

  1. console.dir(document.body);
  2. console.log(document.body);

 


console.time & console.timeEnd

输出一些调试信息是控制台最常用的功能,当然,它的功能远不止于此。当做一些性能测试时,同样可以在这里很方便地进行。
比如需要考量一段代码执行的耗时情况时,可以用console.time与 console.timeEnd来做此事。

这里借用官方文档的例子:

  1. console.time("Array initialize");
  2. var array= new Array(1000000);
  3. for (var i = array.length - 1; i >= 0; i--) {
  4. array[i] = new Object();
  5. };
  6. console.timeEnd("Array initialize");

 

当然,我们也可以选择自己写代码来计时:

  1. var start=new Date().getTime();
  2. var array= new Array(1000000);
  3. for (var i = array.length - 1; i >= 0; i--) {
  4. array[i] = new Object();
  5. };
  6. console.log(new Date().getTime()-start);

 

相信你也看到了,用内置的console.time是多么地方便,省去了自己写代码来计算的工作量。另外值得一提的是,通过调用内置的console.time得到的结果要比自己手动计算的时间差更精确可靠。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部