Console & Command line API
console打印的错误error、警告warn(无规范)、信息info(无规范)、日志log(无规范)只是用来在console中区分和筛选,使用跟log是一样的。
类log打印字符串可用c语言类似输出格式。
%o | 打印javascript对象、整数、字符串以及JSON数据 |
%d or %i | 打印整数,不是整数打印 0 |
%s | 打印字符串 |
%f | 打印浮点数,默认6位小数,使用%.2f控制为2位小数 |
%c | 打印样式,成对指定区域样式 |
.assert 断言函数,第一个参数不为true就输出后面的对象或者字符串。
.dir 打印的对象可以在console窗口区域中展开,类似chrome的console.log打印对象(无规范)
.error 打印一条错误信息,可以是对象或字符串,但是不会中断执行
.group 打印树状结构,开始一个分组,不需要参数,配合groupCollapsed(折叠?)以及groupEnd方法;(无规范)
.profile 和 .profile 创建一条性能分析(无规范)
.table 将数据(数组或者对象,打印深度为2层)打印成表格(无规范)
.time 开始计时,timeEnd接受该计时器
.trace 打印一个堆栈跟踪,以前Function的caller属性也可以获取堆栈(无规范)
.count 打印该语句执行当前次数,如果没有指定标签则不同的count语句有不同的计数。
Nodejs的console:
{
log: [Function],
info: [Function],
warn: [Function],
error: [Function],
dir: [Function],
time: [Function],
timeEnd: [Function],
trace: [Function],
assert: [Function],
Console: [Function: Console]
}
终端 repl 中的 node console 用不了样式,需要用终端的方法。node inspector 能用
有些方法不能使用
node console 由于标准输出是终端,所以输出颜色字符串应该用 ANSI 控制码(linux命令echo && printf),需要注意的是控制码字符跟输出字符串要隔开,只能用 \033,因为此时并没有像 echo 命令一样的-e选项供终端识别。。。、、
console.log('\033[40;31m' + "web-maxming" + '\033[0m');(严格模式不能用)
console.log('\x1b[31m' + '123' + '\x1b[0m')
nodejs 替换当前行: log = () => {process.stdout.write(Date.now() + '\r'); setTimeout(log, 1000)}