如何使用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 相关文章推荐
jQuery 使用手册(四)
Sep 23 Javascript
JavaScript 拾漏补遗
Dec 27 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
Mar 11 Javascript
jQuery ajax调用WCF服务实例
Jul 16 Javascript
jQuery实现的网格线绘制方法
Jun 20 Javascript
PhotoSwipe异步动态加载图片方法
Aug 25 Javascript
简单的JS控制button颜色随点击更改的实现方法
Apr 17 Javascript
javaScript 逻辑运算符使用技巧整理
May 03 Javascript
原生JS检测CSS3动画是否结束的方法详解
Jan 27 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
Dec 04 Javascript
vue中监听路由参数的变化及方法
Dec 06 Javascript
javascript 原型与原型链的理解及应用实例分析
Feb 10 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
php4的session功能评述(二)
2006/10/09 PHP
PHP中time(),date(),mktime()区别介绍
2013/09/28 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
JS面向对象编程之对象使用分析
2010/08/19 Javascript
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
2012/02/03 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
详细解密jsonp跨域请求
2015/04/15 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
2020/04/25 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
Python中的进程分支fork和exec详解
2015/04/11 Python
Python中单、双下划线的区别总结
2017/12/01 Python
解决新django中的path不能使用正则表达式的问题
2018/12/18 Python
Pytorch中的variable, tensor与numpy相互转化的方法
2019/10/10 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
写出一个方法实现冒泡排序
2016/07/08 面试题
服装销售人员求职自我评价
2013/09/26 职场文书
医学专业五年以上个人求职信
2013/12/03 职场文书
新三好学生主要事迹
2014/01/23 职场文书
自动化毕业生专业自荐书范文
2014/02/04 职场文书
一句话工作感言
2014/03/01 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
师德师风个人总结
2015/02/06 职场文书
房产电话营销开场白
2015/05/29 职场文书
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android