为什么在使用逗号运算符添加值时,console.log会在句子末尾添加空格?

时间:2014-09-04 06:21:57

标签: javascript

这个问题几乎不值得问,但我在这里。

参考上面的问题,这是代码和输出

var port = 3000

console.log("Listening on port ", port)

输出"Listening on port 3000"

注意那里抛出的额外空间。为什么会这样?

3 个答案:

答案 0 :(得分:6)

根据大众需求,从评论中复制:

因为这是console.log所做的。不妨问为什么它会在控制台上打印而不是将浴室涂成蓝色。 (因为后者不是它的作用)。 :)如果您不想要空格,请使用+运算符将字符串拼接在一起。

原因可能是console.log,至少在图形客户端中,能够以内联方式呈现对象和数组。这使得显示的结果不是真正的字符串,而是更多的表,每个单元格与另一个单元格隔开。因此,每个论点都是单独提出的。

此外,考虑到console.log用于调试,与console.log(i, j, a[i][j], a[i][j] / 2)相比,显示3724.712.35的{​​{1}}并非真正有用。写3 7 24.7 12.35很烦人。当我年轻的时候,我从Java那里得到了足够的东西。

答案 1 :(得分:1)

https://developer.mozilla.org/en-US/docs/Web/API/console.log开始,方法log将Javascript对象列表作为参数

  

console.log(obj1 [,obj2,...,objN);

您在文档中说它将对象附加在一起,但它并没有说分隔符是单个空格。

  

obj1 ... objN要输出的JavaScript对象列表。字符串   这些对象中的每一个的表示都附加在一起   订单列出和输出。

答案 2 :(得分:0)

应该做

 console.log("Listening on port " + port)

As(我认为)它可能将参数视为一个数组,因此将它与默认分隔符连接在一起