js中console.log()和console.error()有什么区别?

问题描述 投票:0回答:3

在观看

node.js
中有关承诺的一些视频时,该人使用
console.error()
来打印他知道会出错的内容,并使用
console.log()
来打印其他所有内容。除了以不同的颜色打印东西之外,这两个功能之间还有主要区别吗?

node.js
3个回答
76
投票

console.error()
写入
stderr
,而
console.log()
写入
stdout
,如文档中所述。

在nodejs的默认运行中,

stdout
stderr
都会进入控制台,但显然,它们可以被定向到不同的地方并且可以以不同的方式使用。 例如,当使用诸如“forever”之类的工具时,两个流会被记录到单独的日志文件中,以便可以单独检查它们。 假设

console.error()

可能包含更重要的信息,可能需要单独查看,但这实际上取决于您在自己的程序中如何使用

console.log()
console.error()
    


7
投票

1。定义

控制台.log()

添加于:v0.1.100。

打印到

stdout
,并带有换行符。可以传递多个参数,第一个用作主要消息,所有附加参数用作类似于 printf(3) 的替换值(参数全部传递给

util.format()
)。

控制台.error()

添加于:v0.1.100 .

打印到

stderr
,并带有换行符。可以传递多个参数,第一个用作主要消息,所有附加参数用作类似于 printf(3) 的替换值(参数全部传递给

util.format()
)。

2。语法

控制台.log()

console.log(obj1 [, obj2, ..., objN]); console.log(msg [, subst1, ..., substN]);

Console.error()

console.error(obj1 [, obj2, ..., objN]); console.error(msg [, subst1, ..., substN]); console.exception(obj1 [, obj2, ..., objN]); console.exception(msg [, subst1, ..., substN]);

3.参数

控制台.log()

(i) 要输出的 JavaScript 对象列表。每个对象的字符串表示形式都按列出的顺序附加在一起并输出。

obj1 ... objN

(ii) 包含零个或多个替换字符串的 JavaScript 字符串。 

msg

(iii) 用于替换 msg 中的替换字符串的 JavaScript 对象。这使您可以额外控制输出的格式。    

subst1 ... substN

Console.error()

注意:

console.exception() 是 console.error() 的别名;它们在功能上是相同的。 (i) 要输出的 JavaScript 对象列表。每个对象的字符串表示形式都按列出的顺序附加在一起并输出。

obj1 ... objN

(ii) 包含零个或多个替换字符串的 JavaScript 字符串。    

msg

(iii) 用于替换 msg 中的替换字符串的 JavaScript 对象。这使您可以额外控制输出的格式。    

subst1 ... substN

4。浏览器兼容性

Console.log()

Console.error() 两者与所有流行浏览器几乎具有相同的兼容性。 注:
(i) 对于版本 28 中的 google chrome

Substitution strings

,如果将负值传递给 %d,它将向下舍入到最接近的负整数,因此 -0.1 变为 -1。


(ii)

Substitution strings

两者均适用于 Internet Explorer(10) 不支持 %c,%d 非数字时将渲染为 0

    


-2
投票

© www.soinside.com 2019 - 2024. All rights reserved.