[英]How do I break a string across more than one line of code in JavaScript?
JavaScript 中是否有一個字符可以分解一行代碼,以便盡管在新行上仍被讀取為連續的?
就像是....
1. alert ( "Please Select file 2. \ to delete" );
在您的示例中,您可以將字符串分成兩部分:
alert ( "Please Select file"
+ " to delete");
或者,當它是一個字符串時,就像你的情況一樣,你可以使用@Gumbo 建議的反斜杠:
alert ( "Please Select file\
to delete");
請注意,這種反斜杠方法不一定是首選,並且可能不會得到普遍支持(我很難找到有關此的硬數據)。 它不在ECMA 5.1 規范中。
使用其他代碼(不在引號中)時,會忽略換行符,並且完全可以接受。 例如:
if(SuperLongConditionWhyIsThisSoLong
&& SuperLongConditionOnAnotherLine
&& SuperLongConditionOnThirdLineSheesh)
{
// launch_missiles();
}
將反斜杠放在行尾:
alert("Please Select file\
to delete");
編輯我必須注意,這不是ECMAScript 字符串的一部分,因為根本不允許行終止字符:
“ LineTerminator ”字符不能出現在字符串文字中,即使前面有反斜杠
\\
。 使行終止符成為字符串文字的字符串值一部分的正確方法是使用轉義序列,例如\\n
或\
。
所以使用字符串連接是更好的選擇。
更新 2015-01-05 ECMAScript5 中的字符串文字允許提到的語法:
行終止符不能出現在字符串文字中,除非作為LineContinuation 的一部分以產生空字符序列。 使行終止符成為字符串文字的 String 值一部分的正確方法是使用轉義序列,例如
\\n
或\
。
ECMAScript 6 引入了模板字符串:
模板字符串是允許嵌入表達式的字符串文字。 您可以將多行字符串和字符串插值功能與它們一起使用。
例如:
alert(`Please Select file
to delete`);
會提醒:
Please Select file
to delete
把繩子分成兩部分
alert ("Please select file " +
"to delete");
有趣的是要注意。 嘗試:
alert("Some \
string \
wrapped \
across \
mutliples lines.")
這奏效了。 然而,偶然!,最后一個反斜杠后面有一個空格字符(所有其他反斜杠都在行尾)。 這導致了 javascript 中的錯誤! 不過,刪除此空間修復了錯誤。
這是使用 Cordova 的 ADT for Android。
你可以使用
1: alert("Please select file" +
2: " to delete");
那應該工作
反斜杠運算符不可靠。 嘗試在瀏覽器控制台中粘貼此函數:
function printString (){
const s = "someLongLineOfText\
ThatShouldNotBeBroken";
console.log(s);
}
然后運行它。 由於函數中的常規(和正確)縮進,將包含兩個額外的空格,導致someLongLineOfText ThatShouldNotBeBroken
。
在這種情況下,即使使用反引號也無濟於事。 始終使用連接“+”運算符來防止此類問題。
您可以將長字符串常量分解為邏輯塊並將它們分配到數組中。 然后做一個join
一個空字符串作為分隔符。
var stringArray = [
'1. This is first part....',
'2. This is second part.....',
'3. Finishing here.'
];
var bigLongString = stringArray.join('');
console.log(bigLongString);
輸出將是:
- 這是第一部分....2。 這是第二部分.....3。 到此結束。
這種方式對性能有輕微影響,但您會提高代碼可讀性和可維護性。
我嘗試了許多上述建議,但在 Chrome 代碼檢查器中收到了非法字符警告。 以下對我有用(盡管僅在 Chrome 中測試過!)
alert('stuff on line 1\\nstuff on line 2);
出來就像...
stuff on line 1
stuff on line 2
注意雙反斜杠!!...這似乎很重要!
無需任何手動中斷代碼。 只需在要中斷的地方添加 \\n 即可。
alert ("Please Select file \n to delete");
這將顯示警報
Please select file
to delete.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.