前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >console.log() 之外的调试技巧

console.log() 之外的调试技巧

作者头像
dys
发布2018-04-03 17:46:50
1.3K0
发布2018-04-03 17:46:50
举报
文章被收录于专栏:性能与架构性能与架构

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

是一个国外工程师总结的,其中还有一些其他小技巧,有兴趣的可以去了解下

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档