node.log中的console.log和sys.puts之间的区别?

时间:2010-10-11 07:28:39

标签: javascript console node.js

在node.js中,您可以使用console.logsys.puts打印到屏幕。

首选方法是什么,它们之间有什么区别?

7 个答案:

答案 0 :(得分:55)

sys.puts只是在日志中打印给定的字符串。

但是如果你想打印一个更复杂的对象(Array,JSON,JSObject),你必须使用console.log,因为你想“查看”对象的内部。

例如,

sys.puts只会给你“[object object]”。

答案 1 :(得分:16)

两者都只是写入stdout流。区别在于sys.puts只有toString是第一个参数,而console.log是多个参数,如果它不是字符串,它将sys.inspect第一个参数。

答案 2 :(得分:8)

自版本0.2.3以来不推荐使用Puts

答案 3 :(得分:2)

此外,您可以使用console.log而无需sys模块。

答案 4 :(得分:2)

console.dir(objectToInspect)

这可能是检查对象的另一种方法。

答案 5 :(得分:1)

sys.puts([...]);

是同步输出功能。它只是一个阻塞函数,就像在Node.js语言中一样。

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

使用换行符打印到stdout。

更多信息:

http://nodejs.org/api/stdio.html#stdio_console_log_data

http://nodejs.org/api/util.html#util_util_puts

注意:'sys'模块被重命名为'util'(由link支持)这是一个修复#3577

答案 6 :(得分:0)

首选方法是console.log()sys.puts()已被删除。


sys模块的重命名为commit,其日期为2010年10月12日。util变成了sys.puts()util.puts()是在v0.3.0中添加的,自v0.11.3起已弃用,并在v12.0.0中已删除。 documentation建议改用util.puts()