在node.js中,您可以使用console.log
或sys.puts
打印到屏幕。
首选方法是什么,它们之间有什么区别?
答案 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()
。