【发布时间】:2023-03-22 11:14:01
【问题描述】:
在 node.js 中,您可以使用 console.log 或 sys.puts 打印到屏幕上。
首选方法是什么,它们之间有什么区别?
【问题讨论】:
标签: javascript console node.js
在 node.js 中,您可以使用 console.log 或 sys.puts 打印到屏幕上。
首选方法是什么,它们之间有什么区别?
【问题讨论】:
标签: javascript console node.js
sys.puts 只是在日志中打印给定的字符串。
但如果你想打印一个更复杂的对象(数组、JSON、JSObject),你必须使用console.log,因为你想“查看”对象的内部。
sys.puts 例如只会给你“[object object]”。
【讨论】:
两者都只是写入标准输出流。区别在于sys.puts 只是toString 的第一个参数,而console.log 接受多个参数,如果不是字符串,sys.inspect 将作为第一个参数。
【讨论】:
sys.inspect 现在是util.inspect
Puts 自 0.2.3 版起已弃用
【讨论】:
您也可以在不需要 sys 模块的情况下使用 console.log。
【讨论】:
console.dir(objectToInspect)
这可能是检查对象的另一种方式。
【讨论】:
sys.puts([...]);
是一个同步输出函数。简而言之,它是 Node.js 语言中的阻塞函数。
console.log([data], [...]);
使用换行符打印到标准输出。
更多信息:
http://nodejs.org/api/stdio.html#stdio_console_log_data
http://nodejs.org/api/util.html#util_util_puts
注意:“sys”模块已重命名为“util”(link 支持)这是一个修复 #3577
【讨论】:
首选方法是console.log()。 sys.puts() 已被删除。
sys 模块在 2010 年 10 月 12 日被重命名为 util,commit。所以sys.puts() 变成了util.puts()。 util.puts() 在 v0.3.0 中添加,自 v0.11.3 起弃用,并在 v12.0.0 中删除。 documentation 建议改用console.log()。
【讨论】: