无法确定是否在node.js的console.log中使用“,”或“+”

时间:2013-04-25 15:14:53

标签: javascript node.js

这是config.json文件:

{
"username": "myname",
"api-key": "test",
"name": "testname",
"version": 1
}

这是node.js文件

var fs=require("fs");
console.log("Start");
var contents=fs.readFileSync("config.json");
console.log("Contents: " +contents);
var config=JSON.parse(contents);
console.log("Username: ", config.username);

现在我是否使用

console.log("Username: ", config.username); 

或我使用

console.log("Username:" +config.username);

我在输出中得到相同的结果。但是,它在记录其他变量时会给出不同的结果使用“,”时和使用“+”时无法获取。有什么指针吗?

2 个答案:

答案 0 :(得分:2)

如果您使用+,那就是concatenation operator,并将单个字符串(或数字)传递给log()

如果您使用,,那么您将传递多个参数。

如果您传递多个参数,而您没有使用格式化字符串,那么它们将通过inspect进行记录。

有关详细信息,请参阅console.logutil.inspect的文档。

答案 1 :(得分:0)

不同之处在于,如果一个或多个变量是字符串,则+运算符与连接运算符不同,如果两个变量都是非字符串化数字,则+运算符与加法运算符不同。分隔符始终将每个变量分别转换为字符串并单独记录它们。