如何使用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身份证验证超强脚本
Oct 26 Javascript
关于js获取radio和select的属性并控制的代码
May 12 Javascript
改变隐藏的input中value的值代码
Dec 30 Javascript
使用js画图之饼图
Jan 12 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
Dec 08 Javascript
js 动态生成html 触发事件传参字符转义的实例
Feb 14 Javascript
JavaScript基于面向对象实现的猜拳游戏
Jan 03 Javascript
详解webpack中的hash、chunkhash、contenthash区别
Jan 05 Javascript
webpack 打包压缩js和css的方法示例
Mar 20 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
Mar 27 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
Nov 20 Javascript
JavaScript实现省市区三级联动
Feb 13 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
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
很酷的javascript loading效果代码
2008/06/18 Javascript
dojo随手记 gird组件引用
2011/02/24 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
2017/03/15 Javascript
AngularJS路由Ui-router模块用法示例
2017/05/29 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
Python学习小技巧之列表项的拼接
2017/05/20 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
法律工作求职自荐信
2013/10/31 职场文书
信息专业个人的自我评价
2013/12/27 职场文书
网上签名寄语活动留言
2014/01/18 职场文书
八一慰问活动方案
2014/02/07 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
医德医风自我评价
2014/09/19 职场文书
小学运动会开幕词
2015/01/28 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
TensorFlow的自动求导原理分析
2021/05/26 Python
Redis数据同步之redis shake的实现方法
2022/04/21 Redis