Есть ли символ в JavaScript для разбивки строки кода, чтобы она читалась как непрерывная, несмотря на то, что она была на новой строке?
Что-то вроде....
1. alert ( "Please Select file 2. \ to delete" );
Есть ли символ в 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" не может отображаться в строковом литерале, даже если ему предшествует обратная косая черта
\
. Правильный способ заставить символ терминатора линии быть частью строкового значения строкового литерала - использовать escape-последовательность, такую как\n
или\u000A
.
Таким образом, использование конкатенации строк является лучшим выбором.
Обновление 2015-01-05 Строковые литералы в ECMAScript5 позволяют использовать указанный синтаксис:
Символ терминатора строки не может отображаться в строковом литерале, кроме как в части LineContinuation для создания пустой последовательности символов. Правильный способ заставить символ терминатора линии быть частью значения String строкового литерала - использовать escape-последовательность, такую как
\n
или\u000A
.
В 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.
Вы можете просто использовать
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. Заканчиваю здесь.
Таким образом, достигается небольшая производительность, но вы получаете улучшенную читаемость и удобство обслуживания.
Я попробовал ряд вышеупомянутых предложений, но получил предупреждение НЕЗАКОННОГО символа в инспекторе кода 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.