console, 你不知道的神奇用法

288 阅读2分钟

最基础,最常用的方法是console.log(), 该方法会打印传入到控制台的字符串

也可以通过传入变量和格式说明符来格式化用语

console.log("我的%s已经%d岁""猫", 2);
  • %s 会格式化变量为字符串
  • %d 会格式化变量为数字
  • %i 会格式化变量为其整数部分
  • %o 会格式化变量为对象

聪明的已经知道打印是什么了。。。。啊,你还不知道,那还不快去试下

清空控制台

console.clear() 会清楚控制台

元素计数

const x = 1
const y = 2
const z = 3
console.count('x 的值为 ' + x + ' 且已经检查了几次?') // x 的值为 1 且已经检查了几次?: 1
console.count('x 的值为 ' + x + ' 且已经检查了几次?') // x 的值为 1 且已经检查了几次?: 2
console.count('y 的值为 ' + y + ' 且已经检查了几次?') // y 的值为 2 且已经检查了几次?: 1

count 方法会对打印的字符串的次数进行计数,并在其旁边打印计数:

打印堆栈踪迹

Trace
    at function2 (repl:1:33)
    at function1 (repl:1:25)
    at repl:1:1
    at ContextifyScript.Script.runInThisContext (vm.js:44:33)
    at REPLServer.defaultEval (repl.js:239:29)
    at bound (domain.js:301:14)
    at REPLServer.runBound [as eval] (domain.js:314:12)
    at REPLServer.onLine (repl.js:440:10)
    at emitOne (events.js:120:20)
    at REPLServer.emit (events.js:210:7)

你是不是在开发中经常遇到这种错误提示,便于定位到问题
其实我们可以通过console.trace()来打印函数的调用堆栈踪迹

计算耗时

我们计算函数耗时常用时间戳来计算,现在我们来看另一种 可以使用 time() 和 timeEnd() 轻松地计算函数运行所需的时间:

const doSomething = () => console.log('测试')
const measureDoingSomething = () => {
  console.time('doSomething()')
  //做点事,并测量所需的时间。
  doSomething()
  console.timeEnd('doSomething()')
}
measureDoingSomething()

stdout 和 stderr console.log 非常适合在控制台中打印消息。 这就是所谓的标准输出(或称为 stdout)。
console.error 会打印到 stderr 流。
它不会出现在控制台中,但是会出现在错误日志中。

为输出着色

在浏览器中可以使用

console.log('%c this is colored','background:#aaa;color:#bada55','this is not colored');

  • %c表示css样式

在node环境中
可以使用转义序列在控制台中为文本的输出着色。 转义序列是一组标识颜色的字符。 例如:

console.log('\x1b[33m%s\x1b[0m', '你好')

可以在 Node.js REPL 中进行尝试,它会打印黄色的 你好。
当然,这是执行此操作的底层方法。 为控制台输出着色的最简单方法是使用库。 Chalk 是一个这样的库,除了为其着色外,它还有助于其他样式的设置(例如使文本变为粗体、斜体或带下划线)。
可以使用 npm install chalk 进行安装,然后就可以使用它:

const chalk = require('chalk')<br/>
console.log(chalk.yellow('你好'))<br/>

与尝试记住转义代码相比,使用 chalk.yellow 方便得多,并且代码更具可读性。