Console & Command line API

Tags
firefoxnodejschrome
Created
Dec 19, 2015 12:12 PM

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)}

https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference

https://developer.mozilla.org/en-US/docs/Tools/Web_Console/The_command_line_interpreter

SuperMade with Super