如果还不够过瘾,那咱们来log一些图片吧,甚至。。。动图? 对,你得先有图,我们拿这张图为例。 - 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 更是直接以表格的形式将数据输出,不能赞得太多! 借用之前写过的一篇博文里的例子: - var data = [{'品名': '杜雷斯', '数量': 4}, {'品名': '冈本', '数量': 3}];
- console.table(data);

另外,console.log() 接收不定参数,参数间用逗号分隔,最终会输出会将它们以空白字符连接。 - console.log('%c你好','color:red;','小明','你知道小红被妈妈打了么');

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

console.count除了条件输出的场景,还有常见的场景是计数。 当你想统计某段代码执行了多少次时也大可不必自己去写相关逻辑,内置的console.count可以很地胜任这样的任务。 - function foo(){
- //其他函数逻辑blah blah。。。
- console.count('foo 被执行的次数:');
- }
- foo();
- foo();
- foo();

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

console.time & console.timeEnd输出一些调试信息是控制台最常用的功能,当然,它的功能远不止于此。当做一些性能测试时,同样可以在这里很方便地进行。 比如需要考量一段代码执行的耗时情况时,可以用console.time与 console.timeEnd来做此事。 这里借用官方文档的例子: - console.time("Array initialize");
- var array= new Array(1000000);
- for (var i = array.length - 1; i >= 0; i--) {
- array[i] = new Object();
- };
- console.timeEnd("Array initialize");

当然,我们也可以选择自己写代码来计时: - var start=new Date().getTime();
- var array= new Array(1000000);
- for (var i = array.length - 1; i >= 0; i--) {
- array[i] = new Object();
- };
- console.log(new Date().getTime()-start);

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