При программировании с помощью JavaScript часто сталкиваешься с невозможностью реализовать многострочные строки, также вводя их в несколько строк кода. Хотя задача на других языках, таких как PHP или Ruby, не является проблемой, с JavaScript вы можете сначала обойтись только обходными путями, использование которых определяется личным вкусом или поддержкой браузера.
Очевидная попытка
var str = "Dies ist eine
mehrzeilige
Zeichenkette.";
сбой, и синтаксический анализатор жалуется на несколько вещей (в виде неожиданного токена ILLEGAL), потому что JavaScript (в отличие от других языков программирования, таких как PHP) автоматически вставляет точку с запятой после конца каждой строки:
var str = "Dies ist eine;
mehrzeilige;
Zeichenkette.";
Первое решение проблемы состоит в простой конкатенации строк с помощью оператора \ n и +:
var str = "Dies ist eine\n" +
"mehrzeilige\n" +
"Zeichenkette.";
Если вы предпочитаете менее медленный и немного более приятный вариант, добавьте обратную косую черту в конце каждой строки.:
var str = "Dies ist eine\n\
mehrzeilige\n\
Zeichenkette";
В качестве альтернативы вы можете использовать метод соединения и получить его:
var str = ["Dies ist eine",
"mehrzeilige",
"Zeichenkette"].join("\n");
Если, с другой стороны, ваши глаза загораются при отображении регулярных выражений, используйте следующий синтаксис (match () фильтрует значения между комментариями):
var str = (function () {/*Dies ist eine
mehrzeilige
Zeichenkette*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
Важно: если код минифицирован, об этом решении можно забыть (так как комментарии также удаляются).
Самый хороший вариант - с ECMA6 и с помощью шаблонных строк.:
var str = `Dies ist eine
mehrzeilige
Zeichenkette`;