在JavaScript中是否存在一個字符來分解一行代碼,以使它儘管在新行中被視爲連續的?如何在JavaScript中的多行代碼中分割字符串?
喜歡的東西....
1. alert ("Please Select file 2. \ to delete");
在JavaScript中是否存在一個字符來分解一行代碼,以使它儘管在新行中被視爲連續的?如何在JavaScript中的多行代碼中分割字符串?
喜歡的東西....
1. alert ("Please Select file 2. \ to delete");
在你的榜樣,你可以打破字符串爲兩個部分:
alert ("Please Select file"
+ " to delete");
或者,當它是一個字符串,如你的情況,你可以使用backslash爲@Gumbo建議:
alert ("Please Select file\
to delete");
注意,這反斜槓方法是not necessarily preferred,並可能不是普遍支持(我無法在此找到硬數據)。在ECMA 5.1 spec中是而不是。
使用其他代碼(不在引號中)時,換行符會被忽略,並且完全可以接受。例如:
if(SuperLongConditionWhyIsThisSoLong
&& SuperLongConditionOnAnotherLine
&& SuperLongConditionOnThirdLineSheesh)
{
// launch_missiles();
}
把反斜線在該行的末尾:
alert("Please Select file\
to delete");
編輯我必須指出,這是不是ECMAScript strings爲line terminating characters不部分一律允許:
'LineTerminator'字符不能出現在字符串文字中,即使前面有反斜槓
\
。使行結束符字符成爲字符串文本的字符串值的一部分的正確方法是使用轉義序列,如\n
或\u000A
。
所以使用字符串連接是更好的選擇。
更新2015年1月5日String literals in ECMAScript5允許提到的語法:
甲行終止字符不能出現在一個字符串,除非是作爲LineContinuation的一部分,以產生空字符序列。導致行結束符字符作爲字符串文本的字符串值的一部分的正確方法是使用轉義序列,如
\n
或\u000A
。
你可以使用
1: alert("Please select file" +
2: " to delete");
這應該工作
字符串分解成兩件
alert ("Please select file " +
"to delete");
無需在代碼中任何手動突破。 只需添加\ n您想要中斷的位置。
alert ("Please Select file \n to delete");
這將顯示而有趣的警告一樣
Please select file
to delete.
。試過:
alert("Some \
string \
wrapped \
across \
mutliples lines.")
這工作。但是,在發生意外時,在最後一個反斜槓後面有一個空格字符(所有其他反斜槓都在該行的末尾)。這導致了JavaScript中的錯誤!雖然刪除這個空間解決了這個錯誤。
這是在Android的ADT中使用Cordova。
我嘗試了一些上述建議,但在Chrome代碼檢查器中收到了ILLEGAL字符警告。以下爲我工作(僅適用於Chrome測試雖然!)
alert('stuff on line 1\\nstuff on line 2);
出來一樣......
stuff on line 1
stuff on line 2
注意雙反斜線!! ...這似乎是很重要的!
的ECMAScript 6引入template strings:
模板串是字符串常量允許嵌入式表達式。 您可以使用多行字符串和字符串插值功能以及 。
例如,
alert(`Please Select file
to delete`);
會提醒
Please Select file
to delete
您可將if語句? – 2009-02-03 18:29:17
是的:我用一個例子更新了答案。 – 2009-02-03 18:47:14
但是要小心自動分號插入機制:嘗試在函數的最後一行返回一行,並在下一行返回一個「字符串」,並因此得到未定義的結果。 – some 2009-02-03 21:30:53