前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「小技巧」console的用法,不仅仅只有console.log()

「小技巧」console的用法,不仅仅只有console.log()

作者头像
前端达人
发布2019-07-17 17:23:09
6660
发布2019-07-17 17:23:09
举报
文章被收录于专栏:前端达人前端达人前端达人
开篇

在JavaScript开发调试中,console.log()是我们最常用的方法,但是还有其它几个常用的方法,值得我们试一试,也许会起到意想不到的效果。

本篇文章阅读时间预计2分钟。

01

基础用法——console.log()

打印一段文本

console.log('Is this working?');

打印对象

const foo = { id: 1, verified: true, color: 'green' };
const bar = { id: 2, verified: false, color: 'red' };

接着我们看控制台的输出展现:

从图中我们看出,无法看出对应的变量名;如果想让两个对象一起输出,我们可以使用console.log({ foo, bar }),由于一行内容显示有限,对象内容部分进行了省略,我们必须点击左边的小箭头看更详细的内容,如下图所示:

02

console.table()

为了增加输出的可读性,我们可以使用console.table()让其通过表格的形式进行展示,比如我们在控制台输出console.table({ foo, bar}),如下图所示:

03

console.group()

有时候,为了方便分析,你需要将一些对象变量等信息进行分组打印输出,示例如下:

console.group('User Details');
console.log('name: John Doe');
console.log('job: Software Developer');
// Nested Group
console.group('Address');
console.log('Street: 123 Townsend Street');
console.log('City: San Francisco');
console.log('State: CA');
console.groupEnd();
console.groupEnd();

04

console.warn() & console.error()

一些特别的信息我们需要特别强调醒目的输出出来,比如警告和错误信息,你可以使用console.warn() & console.error(),输出的展示形式如下图所示,是不是更醒目:

你还可以更进一步,自定义打印输出的样式,你可以使用%c 语法。你可以使用这个方法更好的区分定义来源你的哪个API调用,用户事件,示例如下:

console.log('%c Auth ',
    'color: white; background-color: #2274A5',
    '登录验证通过');
console.log('%c GraphQL ',
    'color: white; background-color: #95B46A',
    '获取用户信息');
console.log('%c Error ',
    'color: white; background-color: #D33F49',
    '获取用户信息失败');

05

console.trace()

console.trace()方法用于显示当前执行的代码在堆栈中的调用路径。如下段代码所示,在控制台里清晰了展示了add()的调用轨迹

function add(a,b){
    console.trace();
    return a+b;
}
function add3(a,b){return add2(a,b);}
function add2(a,b){return add1(a,b);}
function add1(a,b){return add(a,b);}
var x = add3(1,1);

06

console.time()

我们在开发过程中,经常需要知道一个方法运行了多长时间,方便我们做出修改完善的判断,我们可以使用console.time(),示例如下:

let i = 0;
console.time("While loop");
while (i < 1000000) {
    i++;
}
console.timeEnd("While loop");
console.time("For loop");
for (i = 0; i < 1000000; i++) {
    // For Loop
}
console.timeEnd("For loop");

07

console.dir()

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

function cat(name, age, score){
    this.name = name;
    this.age = age;
    this.score = score;
}
var c = new cat("miao", 2, [6,8,7]);
console.dir(c);

今天的小技巧分享就到这里,希望对你有所帮助,祝大家周末愉快,欢迎到留言区进行交流分享。

精彩推荐

动画基础丨点和直线

太惊艳了,这些画都是CSS的杰作!

css基础丨如何理解transform的matrix()用法

css基础丨如何理解Display的属性:None,Block,Inline,Inline-Block

ES6基础丨let和作用域

ES6基础丨const介绍

ES6基础丨默认参数值

ES6基础丨展开语法(Spread syntax)

ES6基础丨解构赋值(destructuring assignment)

ES6基础丨箭头函数(Arrow functions)

ES6基础丨模板字符串(Template String)

ES6基础丨Set与WeakSet

ES6基础丨Map与WeakMap

ES6基础丨Symbol介绍:独一无二的值

ES6基础丨Object的新方法

ES6基础丨迭代器(iterator)

ES6基础丨生成器(Generator)

数据结构基础丨栈简介(使用ES6)

数据结构基础丨队列简介(使用ES6)

JavaScript基础丨前端不懂它,会再多框架也不过只是会用而已!

JavaScript基础丨你真的了解JavaScript吗?

JavaScript基础丨回调(callback)是什么?

JavaScript基础丨Promise使用指南

JavaScript基础丨深入学习async/await

JS加载慢?谷歌大神带你飞!(文末送电子书)

19年你应该关注这50款前端热门工具(上)

19年你应该关注这50款前端热门工具(中)

19年你应该关注这50款前端热门工具(下)

专注分享当下最实用的前端技术。关注前端达人,与达人一起学习进步!

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

本文分享自 前端达人 微信公众号,前往查看

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

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

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