Node.js的控制台console

ops/2024/9/25 7:23:06/

新书速览|Vue.js+Node.js全栈开发实战-CSDN博客

《Vue.js+Node.js全栈开发实战(第2版)(Web前端技术丛书)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com)

利用好Node.js提供的console控制台和debug,可以有效地辅助开发和定位bug。在Node.js中,console代表控制台,可以通过console对象的各种方法向控制台进行标准输出。

3.3.1  console对象下的各种方法

在REPL交互式运行环境中输入console,可以看到console对象下各种方法组成的一个数组,如图3.7所示。

图3.7  console对象的方法

3.3.2  console.log()方法

console.log()方法用于标准输出流的输出,也就是在命令行中显示一行信息,例如:

console.log('node.js is powerful')

无论是在REPL环境中运行这行代码,还是作为Node.js文件执行这行代码,都可以看到在命令行中输出“node.js is powerful”字样。

console.log()方法并没有对参数的个数进行限制,当传递多个参数时,命令行输出将以空格分隔这些参数,例如:

console.log('node.js','is','powerful');

运行之后,同样会在命令行输出“node.js is powerful”字样,这3个单词也依旧是以空格分隔开来的。

console.log()方法也可以利用占位符来定义输出的格式。例如,%d表示数字,%s表示字符串。

提示:如果需要对后面的多个参数都定义格式,就要逐个进行设置,并且输出时将不会以空格分隔;如果没有预定义格式,将会正常输出。

示例代码如下:

【代码3-7】

01  console.log('%s%s', 'node.js', 'is', 'powerful');
02  // node.jsis powerful
03  console.log('%s%s%s', 'node.js', 'is', 'powerful');
04  // node.jsispowerful
05  console.log('%d', 'node.js');
06  // NaN
07  console.log('%d', 'node.js', 'is', 'powerful');
08  // NaN is powerul

需要注意,在这一段代码中,当使用%d占位符后,如果对应的参数不是数字,则控制台将会输出“NaN”。

3.3.3  console.info()、console.warn()和console.error()方法

console.info()、console.warn()以及console.error()方法的使用和console.log()一致,将3.3.2小节的代码换成console.info()、console.warn()、console.error()方法,将得到同样的结果:

【代码3-8】

01  console.warn('%s%s', 'node.js', 'is', 'powerful');
02  // node.jsis powerful
03  console.warn('%s%s%s', 'node.js', 'is', 'powerful');
04  // node.jsispowerful
05  console.info('%d', 'node.js');
06  // NaN
07  console.info('%d', 'node.js', 'is', 'powerful');
08  // NaN is powerul
09  console.error('%d', 'node.js');
10  // NaN
11  console.error('%d', 'node.js', 'is', 'powerful');
12  // NaN is powerul

3.3.4  console.dir()方法

console.dir()方法用于将一个对象的信息输出到命令行。如下代码将定义一个简单的对象。

【代码3-9】

01  const obj = {
02  name: 'node.js',
03      get: function() {
04        console.log('get');
05      },
06      set: function() {
07        console.log('set');
08      }
09  }
10  console.dir(obj);

在REPL交互式运行环境中运行这段代码,可以看到命令行中输出这个对象的信息,如图3.8所示。

图3.8  console.dir()方法输出对象信息

3.3.5  console.time()和console.timeEnd()方法

console.time()和console.timeEnd()方法主要用于统计一段代码的运行时间。console.time()方法置于代码起始处,console.timeEnd()方法置于代码结尾处。只需要向这两个方法传递同一个参数,就可以在命令行中输出以毫秒计的代码运行时间。如下代码统计了两个循环执行后的时间以及各个循环分别使用的时间。

【代码3-10】

01  console.time('total time');
02  console.time('time1');
03  for(var i =0; i< 10000; i++) {
04  }
05  console.timeEnd('time1');
06  console.time('time2');
07  for(var i =0; i< 100000; i++) {
08  }
09  console.timeEnd('time2');
10  console.timeEnd('total time');

将这段代码保存为名为“time.js”的文件。利用node time命令运行这个文件,可以在命令行中看到各个循环的使用时间统计,如图3.9所示。

图3.9  各个循环使用的时间统计

3.3.6  console.trace()方法

console.trace()用于输出当前位置的栈信息,可以向console.trace()方法传递任意字符串作为标志,类似于console.time()中的参数。在REPL交互式运行环境中执行以下代码:

console.trace(‘trace’);

可以看到此处的栈信息已经在命令行中输出,如图3.10所示。

图3.10  console.trace()输出栈信息


http://www.ppmy.cn/ops/94127.html

相关文章

树莓派4b换源+安装neo4j知识图谱

烧录树莓派系统&#xff0c; ssh 1.在SD中的boot区中&#xff0c;新建两个文件ssh(没有任何后缀)和wpa_supplicant.conf。 2.往wpa_supplicant.conf中写入 countryCN ctrl_interfaceDIR/var/run/wpa_supplicant GROUPnetdev update_config1 network{ ssid“wifi账号” psk“…

Redis远程字典服务器(5) —— hash类型详解

目录 一&#xff0c;hash基本情况 二&#xff0c;hash常用命令详解 2.1 hset&#xff0c;hget&#xff0c;hexists&#xff0c;hdel 2.2 hexists&#xff0c;hdel 2.3 hkeys&#xff0c;hvals 2.4 hgetall&#xff0c;hmget 2.5 hlen&#xff0c;hsetnx 2.6 hincrby&am…

MySQL——单表查询(二)按条件查询(1)带关系运算符的查询

数据库中包含大量的数据&#xff0c;很多时候需要根据需求获取指定的数据&#xff0c;或者对查询的数据重新进行排列组合&#xff0c;这时就要在 SELECT 语句中指定查询条件对查询结果进行过滤。 在 SELECT 语句中&#xff0c;最常见的是使用 WHERE 子句指定查询条件对…

C语言典型例题37

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 例题3.5 按照按照考试成绩的等级输出百分制分数段&#xff0c;A等为85分以上&#xff0c;B等为70~84分&#xff0c;C等为 60~69分&#xff0c;D等在60分以下&#xff0c;成绩的等级从键盘输入 代码&#xff1a; //…

宠物医院收银系统源码

1.系统开发语言 核心开发语言: PHP、HTML5、Dart 后台接口: PHP7.3 后合管理网站: HTML5vue2.0element-uicssjs 线下收银台&#xff08;安卓/Windows版&#xff09;: Dart3 框架&#xff1a;Flutter 3.19.6 助手: uniapp 商城: uniapp 2.系统概况 针对宠物医院的一套一体化收…

【微服务】Nacos集群管理

一、Nacos集群概述 Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它致力于帮助开发人员更快地构建、部署和管理微服务架构。Nacos集群通过多个Nacos节点的协同工作&#xff0c;提供高可用性和负载均衡能力&#xff0c;确保服务的稳定性和可靠性。…

《框架封装 · 优雅接口限流方案》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

docker日志容器乱码

Docker容器乱码通常是因为容器内部的应用程序、日志输出或者交互界面使用了与容器的默认编码不兼容的字符编码。例如&#xff0c;容器内的应用可能默认使用UTF-8编码&#xff0c;而容器的终端或日志系统可能使用了如ISO-8859-1的不兼容编码&#xff0c;导致显示为乱码。 1、解…