如何使用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 相关文章推荐
对象的类型:本地对象(1)
Dec 29 Javascript
JavaScript中的排序算法代码
Feb 22 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
Dec 11 Javascript
从js向Action传中文参数出现乱码问题的解决方法
Dec 29 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
Nov 30 Javascript
JS获取文件大小方法小结
Dec 08 Javascript
jquery实现具有收缩功能的垂直导航菜单
Feb 16 Javascript
jQuery实现自动调用和触发某个事件的方法
Nov 18 Javascript
vue小白入门教程
Apr 02 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 jQuery
浅谈在vue中使用mint-ui swipe遇到的问题
Sep 27 Javascript
vue输入框使用模糊搜索功能的实现代码
May 26 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
PHP原理之异常机制深入分析
2010/08/08 PHP
php数据结构与算法(PHP描述) 查找与二分法查找
2012/06/21 PHP
学习php中的正则表达式
2014/08/17 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
可选择和输入的下拉列表框示例
2013/11/05 Javascript
用JS将搜索的关键字高亮显示实现代码
2013/11/08 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
JavaScript继承模式粗探
2016/01/12 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
AngularJS 与百度地图的结合实例
2016/10/20 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
JS限制输入框输入的实现代码
2018/07/02 Javascript
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
Vue 样式绑定的实现方法
2019/01/15 Javascript
ES6入门教程之变量的解构赋值详解
2019/04/13 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
Python实现PS图像抽象画风效果的方法
2018/01/23 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
学习python可以干什么
2019/02/26 Python
python使用递归的方式建立二叉树
2019/07/03 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
AmazeUI底部导航栏与分享按钮的示例代码
2020/08/18 HTML / CSS
小学信息技术教学反思
2016/02/16 职场文书
导游词之天津古文化街
2019/11/09 职场文书
使用react-virtualized实现图片动态高度长列表的问题
2021/05/28 Javascript