console.log( ) 是JS开发时常用的小工具,输出一些信息来辅助调试,console 还有很多有用的方法,下面介绍几个方便调试的用法
跟踪堆栈
例如想找出某个函数是被谁调用,如果调用层级较深的话,会让人非常痛苦
使用 console.trace() 可以跟踪他的调用轨迹,明确知道是从哪儿开始调用
function func_A () {
func_B(1, 2);
}
function func_B (arg1, arg2) {
console.trace();
}
func_A();
用表格显示对象信息
使用 console.log() 打印对象信息时,可读性并不太好,例如下面的代码,输出一个数组的内容
var books = [
{ title: "Java", author: "Abc" },
{ title: "C", author: "Obj" },
{ title: "C++", author: "Cof" }
];
console.log (books);
结果如下
如果换成
console.table (books);
可读性就提高很多
计算一段代码的执行时间
如何知道一段代码的运行消耗时间?console.time() 可以轻松解决,例如
console.time ('timer');
for (var i = 0; i < 100000; i++) {
// ...
}
console.timeEnd ('timer');
查看CPU的消耗
通过 console.profile() 可以查看 CPU 的消耗,找出费时的代码,例如
function func_A (num){
for(var i=0;i<num;i++){
console.log('A');
}
}
function func_B (x,y){
for(var i=0;i<x;i++){
for(var j=0;j<y;j++){
console.log('B');
}
}
}
function test (){
func_A(100);
func_B(3,10);
}
console.profile('test');
test ();
console.profileEnd();
test() 函数中调用了 A 和 B 两个函数,查看 test() 分析结果
从中就可以看出哪个函数的执行时间长
self 是函数自身的执行时间
total 表示此函数总执行时间,包括其中调用的函数的执行时间
内容整理自
https://medium.com/outsystems-experts/beyond-console-debugging-tricks-f7d0d7f5df4#.mabwbd28p
是一个国外工程师总结的,其中还有一些其他小技巧,有兴趣的可以去了解下