Ответы:
В вашем примере вы можете разбить строку на две части:
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, так как символы конца строки не допускаются вообще:
A « КонецСтроки символ» не может появиться в строковый литерал, даже если перед ним обратную косую черту
\
. Правильный способ заставить символ конца строки быть частью строкового значения строкового литерала - это использовать escape-последовательность, например\n
или\u000A
.
Так что лучше использовать конкатенацию строк.
Обновление 2015-01-05 Строковые литералы в ECMAScript5 допускают указанный синтаксис:
Символ конца строки не может появляться в строковом литерале , кроме как как часть LineContinuation для создания пустой последовательности символов. Правильный способ заставить символ конца строки быть частью значения String строкового литерала состоит в использовании escape-последовательности, такой как
\n
или\u000A
.
\n
\u000A
конца строки быть частью значения String строкового литерала: использовать escape-последовательность, такую как or . "
\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, и каким-то образом использование литералов шаблона не помогло.)
Я попробовал несколько из вышеперечисленных предложений, но получил предупреждение ILLEGAL в 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.