2015-12-07 78 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");