Как разбить строку в нескольких строках кода в JavaScript?

Есть ли символ в JavaScript для разбивки строки кода, чтобы она читалась как непрерывная, несмотря на то, что она была на новой строке?

Что-то вроде....

1. alert ( "Please Select file   
2. \ to delete" );

Ответ 1

В вашем примере вы можете разбить строку на две части:

alert ( "Please Select file"
 + " to delete");

Или, когда это строка, как в вашем случае, вы можете использовать обратную косую черту, поскольку @Gumbo предположил:

alert ( "Please Select file\
 to delete");

Обратите внимание, что этот подход обратной косой черты не обязательно предпочтительный и, возможно, не поддерживается повсеместно (у меня были проблемы с поиском жестких данных об этом). Это не в спецификации ECMA 5.1.

При работе с другим кодом (не в кавычках) разрывы строк игнорируются и вполне приемлемы. Например:

if(SuperLongConditionWhyIsThisSoLong
  && SuperLongConditionOnAnotherLine
  && SuperLongConditionOnThirdLineSheesh)
{
    // launch_missiles();
}

Ответ 2

Поместите обратную косую черту в конец строки:

alert("Please Select file\
 to delete");

Изменить. Я должен отметить, что это не часть строк ECMAScript как завершающие символы не разрешены:

Символ "LineTerminator" не может отображаться в строковом литерале, даже если ему предшествует обратная косая черта \. Правильный способ заставить символ терминатора линии быть частью строкового значения строкового литерала - использовать escape-последовательность, такую ​​как \n или \u000A.

Таким образом, использование конкатенации строк является лучшим выбором.


Обновление 2015-01-05 Строковые литералы в ECMAScript5 позволяют использовать указанный синтаксис:

Символ терминатора строки не может отображаться в строковом литерале, кроме как в части LineContinuation для создания пустой последовательности символов. Правильный способ заставить символ терминатора линии быть частью значения String строкового литерала - использовать escape-последовательность, такую ​​как \n или \u000A.

Ответ 3

В ECMAScript 6 представлены строки :

Строки шаблона представляют собой строковые литералы, позволяющие встроенные выражения. Вы можете использовать многострочные строки и функции интерполяции строк с помощью их.

Например,

alert(`Please Select file   
to delete`);

сообщит

Please Select file   
to delete

Ответ 4

Разделите строку на две части.

alert ("Please select file " +
       "to delete");

Ответ 5

Интересно отметить. Пробовал:

alert("Some \
    string \
    wrapped \
    across \
    mutliples lines.")

И это сработало. Однако, при авариях!, После окончательной обратной косой черты был пробел (все остальные обратные косые черты были в конце линии). И это вызвало ошибку в javascript! Однако удаление этого места исправило ошибку.

Это в ADT для Android с помощью Cordova.

Ответ 6

Вы можете просто использовать

1:  alert("Please select file" +
2:        " to delete");

Это должно работать

Ответ 7

Вы можете разбить длинную строковую константу на логические порции и назначить их в массив. Затем выполните join с пустой строкой в качестве разделителя.

var stringArray = [
  '1. This is first part....',
  '2. This is second part.....',
  '3. Finishing here.'
];

var bigLongString = stringArray.join('');
console.log(bigLongString);

Выход будет:

  1. Это первая часть.... 2. Это вторая часть..... 3. Заканчиваю здесь.

Таким образом, достигается небольшая производительность, но вы получаете улучшенную читаемость и удобство обслуживания.

Ответ 8

Я попробовал ряд вышеупомянутых предложений, но получил предупреждение НЕЗАКОННОГО символа в инспекторе кода Chrome. Следующие работали для меня (тестировались только в Chrome, хотя!)

alert('stuff on line 1\\nstuff on line 2);

появляется как...

stuff on line 1
stuff on line 2

Обратите внимание на двойную обратную косую черту!!... это кажется важным!

Ответ 9

Нет необходимости в ручном разрыве кода. Просто добавьте \n, где вы хотите сломать.

alert ("Please Select file \n to delete");

Это покажет предупреждение, например

Please select file 
to delete.