Відповіді:
У вашому прикладі ви можете розбити рядок на дві частини:
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
або\u000A
.
Тож використання строкової конкатенації - кращий вибір.
Оновлення 2015-01-05 Рядок літералів в ECMAScript5 дозволяє вказаний синтаксис:
Символ лінійного термінатора не може з'являтися в рядковому літералі, за винятком як частини LineContinuation для створення порожньої послідовності символів. Правильний спосіб стати символом термінального рядка частиною значення String рядкового літералу є використання послідовності відведення, наприклад,
\n
або\u000A
.
\n
чи \u000A
. "
\r\n
замість \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! Видалення цього простору виправило помилку.
Це в ADT для Android за допомогою Cordova.
Some\n<4 spaces>string\n<4 spaces>wrapped\n<4 spaces>across\n<4 spaces>multiple lines.
Можна просто використовувати
1: alert("Please select file" +
2: " to delete");
Це має спрацювати
Ви можете розбити довгу константу рядків на логічні фрагменти та призначити їх у масив. Потім виконайте 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. Оздоблення тут.
Таким чином досягнуто невеликої продуктивності, але ви отримуєте можливість читабельності коду та ремонту.
Хороше рішення тут для користувачів VSCode , якщо рядок, що розбивається на кілька рядків, викликає проблему (я зіткнувся з цим, коли мені довелося перевірити довгий маркер JWT, і якимось чином за допомогою літеральних шаблонів не зробив цього фокусу.)
Я спробував декілька наведених вище пропозицій, але отримав ІЛЕГАЛЬНЕ попередження символів у інспекторі коду 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.