如何使用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+XML 操作
Sep 20 Javascript
分享几个超级震憾的图片特效
Jan 08 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
Aug 07 Javascript
jQuery中ajax的get()方法用法实例
Dec 26 Javascript
JS数字抽奖游戏实现方法
May 04 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
Oct 08 Javascript
Js的Array数组对象详解
Feb 22 Javascript
原生javascript上传图片带进度条【实例分享】
Apr 06 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
Nov 30 Javascript
Django+Vue跨域环境配置详解
Jul 06 Javascript
jQuery创建折叠式菜单
Jun 15 jQuery
原生js实现自定义滚动条
Jan 20 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内置的字符串处理函数详解
2017/02/04 PHP
thinkPHP5.0框架URL访问方法详解
2017/03/18 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
JavaScript中常见陷阱小结
2010/04/27 Javascript
jquery ajax post提交数据乱码
2013/11/05 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
jquery实现不包含当前项的选择器实例
2015/06/25 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
jquery属性,遍历,HTML操作方法详解
2016/09/17 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
vue-cli3+typescript新建一个项目的思路分析
2019/08/06 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
2019/11/01 jQuery
swiper实现导航滚动效果
2020/12/13 Javascript
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
Python编写Windows Service服务程序
2018/01/04 Python
Python标准库笔记struct模块的使用
2018/02/22 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
python-opencv颜色提取分割方法
2018/12/08 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
2020/01/07 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
Python select及selectors模块概念用法详解
2020/06/22 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
介绍下java.util.Arrays类
2012/10/16 面试题
奥巴马的演讲稿
2014/05/15 职场文书
四查四看自我剖析材料
2014/09/19 职场文书
吧主申请感言怎么写
2015/08/03 职场文书
MySQL 时间类型的选择
2021/06/05 MySQL
MySQL创建定时任务
2022/01/22 MySQL
Golang连接并操作MySQL
2022/04/14 MySQL