如何使用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代码 var ie = !-[1,] 最短的IE判定代码
May 28 Javascript
JavaScript中的16进制字符(改进)
Nov 21 Javascript
ExtJS实现文件下载的方法实例
Nov 09 Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
Nov 21 Javascript
使用js写的一个简易的投票
Nov 27 Javascript
JavaScript轮播图简单制作方法
Feb 20 Javascript
Bootstrap表格制作代码
Mar 17 Javascript
underscore之Chaining_动力节点Java学院整理
Jul 10 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
Dec 15 Javascript
vue中node_modules中第三方模块的修改使用详解
May 31 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
Oct 21 Javascript
JS实现密码框效果
Sep 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
10个简化PHP开发的工具
2014/12/25 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
2018/05/21 PHP
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
利用策略模式与装饰模式扩展JavaScript表单验证功能
2017/02/14 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
详解Vue2中组件间通信的解决全方案
2017/07/28 Javascript
JavaScript实现的超简单计算器功能示例
2017/12/23 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
webuploader实现上传图片到服务器功能
2018/08/16 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
使用python实现rsa算法代码
2016/02/17 Python
详解python中的线程
2018/02/10 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
2018/03/19 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
Python实现不规则图形填充的思路
2020/02/02 Python
python如何编写win程序
2020/06/08 Python
html5使用canvas画空心圆与实心圆
2014/12/15 HTML / CSS
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
美术指导助理求职信
2014/04/20 职场文书
就业协议书样本
2014/08/20 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
大学生实训报告总结
2014/11/05 职场文书
电视新闻稿
2015/07/17 职场文书
七年级生物教学反思
2016/02/20 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书
Python学习之包与模块详解
2022/03/19 Python
python获取带有返回值的多线程
2022/05/02 Python
Redis 限流器
2022/05/15 Redis
pycharm无法安装cv2模块问题
2022/05/20 Python