如何使用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 相关文章推荐
javascript event 事件解析
Jan 31 Javascript
javascript结合canvas实现图片旋转效果
May 03 Javascript
JavaScript生成二维码图片小结
Dec 27 Javascript
理解jquery事件冒泡
Jan 03 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
Nov 01 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
Dec 18 Javascript
jQuery实现简易的输入框字数计数功能示例
Jan 16 Javascript
JavaScript中in和hasOwnProperty区别详解
Aug 04 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
Feb 24 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
Sep 11 Javascript
layui输入框中只允许输入整数的实现方法
Sep 18 Javascript
js+css实现扇形导航效果
Aug 18 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
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
Yii rules常用规则示例
2016/03/15 PHP
Javascript学习笔记1 数据类型
2010/01/11 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
getAsDataURL在Firefox7.0下无法预览本地图片的解决方法
2013/11/15 Javascript
iframe实用操作锦集
2014/04/22 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
微信小程序wxs实现吸顶效果
2020/01/08 Javascript
原生js实现随机点名
2020/07/05 Javascript
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
Python ljust rjust center输出
2008/09/06 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
TensorFlow神经网络优化策略学习
2018/03/09 Python
Python PyCharm如何进行断点调试
2019/07/05 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
2019/12/11 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
企业管理专业个人求职信范文
2013/09/24 职场文书
司机职责范本
2014/03/08 职场文书
经济管理毕业生求职信
2014/03/15 职场文书
正风肃纪剖析材料
2014/09/30 职场文书
2014年安全管理工作总结
2014/12/01 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
婚前保证书范文
2015/02/28 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
js 数组 fill() 填充方法
2021/11/02 Javascript