2010-12-23 203 views
3

我認爲\和\ n可以用作換行符。有什麼不同?在JavaScript中,''和' n'有什麼區別?

編輯:對不起我意識到我錯了。本教程在談論/作爲程序員換行,這是不顯示的,即:

alert("Hi \ 
there"); 
+1

`alert(「foo \ nbar」);警報( 「富\欄」);警報( 「富\\條」)`。不知道你在說什麼。 – delnan 2010-12-23 15:52:11

+1

你如何認爲`\\`可以用作換行符? – Jon 2010-12-23 15:53:23

回答

2

\n爲換行唯一正確的轉義碼(短使用像\u000a或類似的東西的)。

注意,下面的代碼實際上並沒有插入換行符(仍然需要實際\n換碼):

var foo = 'qwertyuiopasdfghjkl\ 
qwertyuiopasdfghjkl\ 
qwertyuiopasdfghjkl'; 

結果是「qwertyuiopasdfghjklqwertyuiopasdfghjklqwertyuiopasdfghjkl」。我也不建議上面的代碼,因爲縮進連續行會導致字符串中無用空格的問題。一個很好的選擇,雖然是:

var foo = [ 
    'qwertyuiopasdfghjkl', 
    'qwertyuiopasdfghjkl', 
    'qwertyuiopasdfghjkl' 
].join('\n'); 
6

在字符串中一行的末尾的斜槓讓你寫上字符串的其餘部分下面一行。結果字符串在該點實際上不會包含換行符。它純粹用於幫助使源代碼更具可讀性。

var foo = "This string \ 
has only \ 
one line."; 

// Result: 
// This string has only one line. 

「\ n」實際上插入了一個換行符。

var bar = "This string has\ntwo lines."; 

// Result: 
// This string has 
// two lines. 
1

\n是寫一個新行(換行)的方式。所以,"Hello World!\nHow are you?"將輸出這樣的:

​​

,而不是這樣的:

// Hello World!How are you? 

您可以使用 「\」 之前,其他字母太...像\t這是一個標籤。或者\\,這會產生反斜槓。但只要在字符串中輸入\就不會輸出任何內容。

相關問題