// 说明
    Node API 版本为 v0.10.31。
    中文参考:http://blog.sina.com.cn/oleoneoy
    本段为博主注解。

目录

● 控制台
    ○ console.log([data], [...])
    ○ console.info([data], [...])
    ○ console.error([data], [...])
    ○ console.warn([data], [...])
    ○ console.dir(obj)
    ○ console.time(label)
    ○ console.timeEnd(label)
    ○ console.trace(message, [...])
    ○ console.assert(value, [message], [...])

控制台

稳定性:4 - API冻结

    ● 对象
    用于向标准输出和标准错误输出打印。与大多数 web 浏览器提供的控制台对象函数类似,这里的输出也是发送给标准输出和标准错误输出。
    当输出目标是终端或文件,控制台函数都是同步的(以防过早退出丢失信息);当目标是管道的时候,它是异步的(以防长时间的阻塞)。
    因此,在下面的例子中,标准输出是非阻塞的同时标准错误输出是阻塞的。

1 $ node script.js 2> error.log | tee info.log

     在日常的使用中,阻塞/非阻塞的区别并不是你应该担心的,除非你记录庞大的数据。

console.log([data], [...])

    向标准输出另起一行打印。此函数可以使用 printf() 类似的方式带多个参数。例如:

1 console.log('count: %d', count);

    如果第一个字符串参数不是格式化字符串,则 util.inspect 将应用到每个参数上。更多信息参看 util.format()
// 实际上是,当遇到第一个不能传入格式化字符串的参数时,其及其后所有的参数,都用 util.inspect 转换成字符串,各参数之间用空格分隔。
// %d 为输出整数,%s 为输出字符串,%j 为输出 JSON 的字符串格式

console.info([data], [...])

    与 console.log 相同。

console.error([data], [...])

    与 console.log 相同,只是向标准错误输出打印。  

console.warn([data], [...])

    与 console.error 相同。 

console.dir(obj)

    对 obj 使用 util.inspect 并将结果字符串向标准输出打印。 

console.time(label)

    标记一个时间。

console.timeEnd(label)

    结束一个定时器,记录输出。例子:

1 console.time('100-elements');
2 for (var i = 0; i < 100; i++) {
3     ;
4 }
5 console.timeEnd('100-elements');

console.trace(message, [...])

    打印格式化的信息和当前位置的堆栈信息到标准错误输出,以上输出紧跟在 'Trace: ' 后面。

console.assert(value, [message], [...])

    类似 assert.ok(),但错误信息使用 util.format(message...) 格式化。