如何使用JS console.log()技巧提高工作效率


Posted in Javascript onOctober 14, 2020

我们知道 console.log(message)用法很简单,表示将参数message 打印到控制台上。

console.log('前端小智')
// 前端小智

const myAge = 28
console.log(myAge) // 28

本文主要介绍5个有用的技巧,可帮助你在使用console.log()时提高工作效率。

1. 打印全名变量

如果在控制台打印多个变量,是数量比较多的情况下,我们很难区别哪个变量对应哪个值。

function sum(a, b) {
console.log(b);
return a + b;
}

sum(1, 2);
sum(4, 5);

执行上述代码后,我们只会看到一系列数字

要表示值和变量之间关系,可以用花括号把变量包起来:{b}:

2.高级格式化

将某些东西打印到控制台最常见方法是简单地使用一个参数调用console.log():

console.log('前端小智') // 前端小智

有时我们可能想要一条包含多个变量的信息。 幸运的是,console.log()可以使用%s,%i等说明符以sprintf()的方式格式化字符串。

const user = '前端小智';
const attempts = 5;

console.log('%s 登录失败了 %i 次', user, attempts);
// 前端小智 登录失败了 5 次

%s和%i被user和attempts的值替换。 说明符%s转换为字符串,而%i转换为数字。

以下是可用说明符的列表:

说明符 作用
%s 元素转换为字符串
%d 或 %i 元素转换为整数
%f 元素转换为浮点数
%o 元素以最有效的格式显示
%O 元素以最有效的格式显示
%c 应用提供的css

3.具有样式的打印风格

浏览器控制台允许我们将样式应用于打印的消息,我们可以通过将%c说明符与相应的css样式一起使用来实现,如下所示:

console.log('%c Big message', 'font-size: 36px; font-weight: bold');

说明符%c应用CSS样式'font-size: 36px; font-weight: bold'

4. 交互展示

日志样式化依赖于主机的控制台实现。像Chrome和Firefox这样的浏览器提供对象和数组的交互展示,而 Node 控制台输出为文本。

来看看Chrome如何打印普通对象,数组和DOM树,可以通过展开和折叠与这些元素进行交互。

4.1 Objects

const myObject = {
 name: 'John Smith',
 profession: 'agent'
};
console.log(myObject);

可以展开和折叠对象属性列表,也可以看到对象的原型。

4.2 Arrays

const characters = ['Neo', 'Morpheus', 'John Smith'];

console.log(characters);
4.3 DOM 树结构

我们可以直接与控制台中显示的DOM元素进行交互。

console.log(document.getElementById('root'));

在Chrome控制台中,可以扩展DOM元素

4.4 交互式嵌套里的消息

%o说明符(为值关联了正确的打印格式)可以在文本消息中插入数组,对象,DOM元素和常规文本,而不会失去交互性。

const myObject = {
 name: 'John Smith',
 profession: 'agent'
};

console.log('Neo, be aware of %o', myObject);

从控制台看,myObject数组不会转换为字符串,而是保持交互性。

5.在 Node 控制台中打印大对象

Node中的log以纯文本形式输出。 但是,Node 中的console.log()不会显示具有深层嵌套的对象:第3级的对象显示为[Object]。

const myObject = {
 propA: {
  propB: {
   propC: {
    propD: 'hello'
   }
  }
 }
};

console.log(myObject);

运行脚本时,propC的对象打印为[Object]:

如何使用JS console.log()技巧提高工作效率

要查看完整的对象结构,可以使用jsON.stringify():

const myObject = {
 propA: {
  propB: {
   propC: {
    propD: 'hello'
   }
  }
 }
};

console.log(jsON.stringify(myObject, null, 2));

JSON.stringify(myObject, null, 2)返回该对象的JSON表示形式,第三个参数2在空格中设置缩进大小。

如何使用JS console.log()技巧提高工作效率

希望这5个技巧可以使你使用 console.log() 体验更加高效。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
Nov 26 Javascript
js实现下拉框选择要显示图片的方法
Feb 16 Javascript
JavaScript中字符串拼接的基本方法
Jul 07 Javascript
javascript数组随机排序实例分析
Jul 22 Javascript
js实现精确到秒的倒计时效果
May 29 Javascript
JavaScript排序算法动画演示效果的实现方法
Oct 18 Javascript
JQuery 动态生成Table表格实例代码
Dec 02 Javascript
微信小程序动态生成二维码的实现代码
Jul 25 Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
Jul 30 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
Jul 10 Javascript
vue 扩展现有组件的操作
Aug 14 Javascript
js实现页面导航层级指示效果
Aug 25 Javascript
JavaScript Blob对象原理及用法详解
Oct 14 #Javascript
基于javascript原生判断DOM是否加载完毕
Oct 14 #Javascript
JavaScript常用进制转换及位运算实例解析
Oct 14 #Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
Oct 14 #Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
Oct 13 #Javascript
原生JS实现相邻月份日历
Oct 13 #Javascript
jquery简易手风琴插件的封装
Oct 13 #jQuery
You might like
法兰绒滤网冲泡
2021/03/03 冲泡冲煮
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
一些被忽视的PHP函数(简单整理)
2010/04/30 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
php使用curl获取header检测开启GZip压缩的方法
2018/08/15 PHP
PHP实现的XXTEA加密解密算法示例
2018/08/28 PHP
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
Python中标准模块importlib详解
2017/04/16 Python
Django实现whoosh搜索引擎使用jieba分词
2020/04/08 Python
Python 如何实现访问者模式
2020/07/28 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
深入浅析HTML5中的article和section的区别
2018/05/15 HTML / CSS
Dr. Martens马汀博士官网:马丁靴始祖品牌
2016/10/15 全球购物
次世代生活态度:Hypebeast
2018/07/05 全球购物
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
男方父母证婚词
2014/01/12 职场文书
2014国培学习感言
2014/03/05 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
学生未请假就回家检讨书
2014/09/22 职场文书
乡镇干部个人对照检查材料思想汇报(原创篇)
2014/09/28 职场文书
2015年行政人事部工作总结
2015/05/13 职场文书
困难补助申请报告
2015/05/19 职场文书
三好学生竞选稿范文
2019/08/21 职场文书