如何使用JS console.log()技巧提高工作效率

 更新时间:2020年10月14日 09:44:02   作者:酷儿q  
这篇文章主要介绍了如何使用JS console.log()技巧提高工作效率,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

我们知道 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]:

要查看完整的对象结构,可以使用jsON.stringify():

const myObject = {
 propA: {
  propB: {
   propC: {
    propD: 'hello'
   }
  }
 }
};

console.log(jsON.stringify(myObject, null, 2));

JSON.stringify(myObject, null, 2)返回该对象的JSON表示形式,第三个参数2在空格中设置缩进大小。

希望这5个技巧可以使你使用 console.log() 体验更加高效。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JS实现分页浏览横向图片(类轮播)实例代码

    JS实现分页浏览横向图片(类轮播)实例代码

    这篇文章主要介绍了JS实现分页浏览横向图片(类轮播)实例代码,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-11-11
  • js 鼠标事件的抓取

    js 鼠标事件的抓取

    鼠标事件的抓取实现代码,需要的朋友可以参考下。
    2010-04-04
  • 自己写了一个展开和收起的多更能型的js效果

    自己写了一个展开和收起的多更能型的js效果

    展开和收起这样的效果想必大家早就眼熟了吧,利用闲暇时间用js写了一个具体功能:当自己处于全部显示的时候,点击自己的收起,自己收起等等感兴趣的你可以参考下哈
    2013-03-03
  • JS获取img图片原始尺寸高度与宽度的七种方式

    JS获取img图片原始尺寸高度与宽度的七种方式

    近期做项目由于每张图片加载的时候比例大小都不一样,加载图片时大部分图片会变形,导致图片展示效果非常差,所以我们可以获取图片的原始宽高,然后以等比例展示,效果会非常好,这篇文章主要给大家介绍了关于JS获取img图片原始尺寸高度与宽度的七种方式,需要的朋友可以参考下
    2022-11-11
  • 浅谈webpack打包过程中因为图片的路径导致的问题

    浅谈webpack打包过程中因为图片的路径导致的问题

    下面小编就为大家分享一篇浅谈webpack打包过程中因为图片的路径导致的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • 浅谈pc端rem字体设置的问题

    浅谈pc端rem字体设置的问题

    下面小编就为大家带来一篇浅谈pc端rem字体设置的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Mvc提交表单的四种方法全程详解

    Mvc提交表单的四种方法全程详解

    本文给大家介绍mvc提交表单的四种方法,分别是MVC HtmlHelper方法,传统Form表单Aciton属性提交,Jquery+Ajax 提交表单,MVC Controller控制器和表单参数传递,介绍的非常详细,需要的朋友参考下
    2016-08-08
  • TypeScript类型系统自定义数据类型教程示例

    TypeScript类型系统自定义数据类型教程示例

    这篇文章主要为大家介绍了TypeScript类型系统自定义数据类型教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 谈谈对JavaScript原生拖放的深入理解

    谈谈对JavaScript原生拖放的深入理解

    拖放(drag-and-drop,DnD)其实是两个动作——拖和放。所以,它涉及到两个元素。一个是被拖的元素,称为拖放源;另一个是要放的目标,称为拖放目标。本文将通过拆分这两个概念来详细介绍原生拖放,感兴趣的朋友一起学习吧
    2016-09-09
  • js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME

    js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME

    这套排序机制同时兼容了IE和ff 可以实现所有浏览器下排序的统一哦
    2011-12-12

最新评论