2010-07-23 38 views
2

查看第三方JavaScript API和示例代碼時,我注意到以下聲明。基本上XML被分配給一個字符串,但他們似乎將它分成多行使用'\',我不知道這可以在JavaScript中完成。任何人都可以提供一些關於這是如何工作的細節?在javascript中使用''來聲明佔用多行的字符串

謝謝。

var PrimaryChannel = '<ChannelParams ChannelType="Digital"> \ 
           <DigitalChannelParams \ 
            PhysicalChannelIDType="Cable" \ 
            PhysicalChannelID="107" \ 
            DemodMode="QAM256" \ 
            ProgramSelectionMode="PATProgram" \ 
            ProgramID="2"> \ 
           </DigitalChannelParams> \ 
          </ChannelParams>'; 
+0

這看起來很有趣,因爲反斜槓在引號內......這使我相信它不是一個真正的JS事物,而這些斜線要麼保存在字符串中,要麼......它們正在逃避換行符。 – mpen 2010-07-23 16:42:45

+0

@Mark,他們正在逃避換行 – CaffGeek 2010-07-23 16:43:53

+1

@查德:是的..但我的意思是,這與關閉報價並不相同,然後*然後*轉義換行符,是嗎?在一種情況下,你只是告訴JS該行繼續,所以它不應該工作是魔術分號BS,而在另一種情況下,你說什麼應該包含在字符串中,不是?或者,我可能會混淆語言,以及它們如何處理這些事情......例如,Python可以讓兩個字符串緊挨着,然後它就會加入em。 – mpen 2010-07-23 16:51:12

回答

6

它正在逃避換行符,但不推薦使用。如果你在事實後縮小了你的js,它將會崩潰。

你最好做這樣的事情

var myString = 
    ['line1', 
    'line2', 
    'line3', 
    'line4', 
    'line5'].join('\n'); 

var mystring = 
    'line1' + 
    'line2' + 
    'line3' + 
    'line4' + 
    'line5'; 
2

大多數瀏覽器都支持這個功能。但它不符合標準

1

是的,你可以做到這一點。 \是JavaScript中的續行符。

編輯:它在技術上是一個轉義字符。