2015-12-07 39 views
-3

在的NodeJS,的Javascript控制台日志修剪换行到空格字符

console.log("before ", "\n", "after") 

我期望的输出,

before 

after 

但它打印,

before 
after 
+0

不要在我的浏览器(Firebug的控制台打印一切在同一行)。顺便问一句,你的问题是什么? –

+5

'console.log'行为不是标准的。在chrome中,多个参数全部打印在一行中。其他一些浏览器将在不同的行中处理每个参数。 – MinusFour

+0

@MinusFour Wich浏览器例如?我尝试使用Iron(铬),Firefox,Internet Explorer和Edge,并且它们都在一行中打印。 – Shanoor

回答

3

你在你的浏览器中得到这些空间“”究其原因,是它会添加一个空格符号其间的每一个论点:

console.log("before ", "\n", "after") 

将是这样的:

"before \n after" 

为了避免这些空间由你自己做字符串连接:

console.log("before " + "\n" + "after") 

此外,如果你想有一个空行插图中使用两种\n

console.log("before " + "\n\n" + "after") 

记住Console.log()是非标准功能,一种规定here

非标准 此功能是非标准的,不在标准轨道上。不要在面向Web的生产站点上使用它:它不适用于每个用户。实现之间也可能存在很大的不兼容性,并且行为在未来可能会发生变化。

+1

感谢您的投票,哈哈 – CoderPi

1

\n意味着一个换行符。如果你想要两个换行,你应该使用\n\n。像这样

console.log("before ", "\n\n", "after") 
1

如果你的目标是把输出放在不同的行上,你会希望使用字符串连接。为了达到你想看到的输出,请尝试以下操作:

console.log('before' + '\n\n' + 'after'); 

结果将是:

before 

after 
1

如果你想最终的结果

before 

after 

然后尝试

console.log("before\n\nafter");