Respostas:
No seu exemplo, você pode quebrar a cadeia em duas partes:
alert ( "Please Select file"
+ " to delete");
Ou, quando for uma string, como no seu caso, você pode usar uma barra invertida como o @Gumbo sugeriu:
alert ( "Please Select file\
to delete");
Observe que essa abordagem de barra invertida não é necessariamente preferida e possivelmente não é universalmente suportada (tive problemas para encontrar dados concretos sobre isso). É não na ECMA 5.1 especificação .
Ao trabalhar com outro código (não entre aspas), as quebras de linha são ignoradas e perfeitamente aceitáveis. Por exemplo:
if(SuperLongConditionWhyIsThisSoLong
&& SuperLongConditionOnAnotherLine
&& SuperLongConditionOnThirdLineSheesh)
{
// launch_missiles();
}
Coloque a barra invertida no final da linha:
alert("Please Select file\
to delete");
Editar Eu tenho que observar que isso não faz parte das seqüências de caracteres ECMAScript, pois caracteres de terminação de linha não são permitidos:
Um caractere ' LineTerminator ' não pode aparecer em uma string literal, mesmo se precedido por uma barra invertida
\
. A maneira correta de fazer com que um caractere terminador de linha faça parte do valor da string literal é usar uma sequência de escape como\n
ou\u000A
.
Portanto, usar a concatenação de strings é a melhor escolha.
A atualização 05-01-2015 As literais de sequência no ECMAScript5 permitem a sintaxe mencionada:
Um caractere terminador de linha não pode aparecer em uma cadeia de caracteres literal, exceto como parte de um LineContinuation para produzir a sequência de caracteres vazia. A maneira correta de fazer com que um caractere terminador de linha faça parte do valor String de um literal de string é usar uma sequência de escape como
\n
ou\u000A
.
\n
or \u000A
. "
\r\n
vez de \n
?
O ECMAScript 6 apresenta sequências de modelos :
As strings de modelo são literais de string que permitem expressões incorporadas. Você pode usar strings de várias linhas e recursos de interpolação de strings com eles.
Por exemplo,
alert(`Please Select file
to delete`);
irá alertar
Please Select file
to delete
`
chave. Como é um modificador, não é escrito diretamente. Provavelmente foi por isso que você pensou que deveria pressionar duas vezes, mas isso escreverá dois deles. Pressione barra de espaço para escrever apenas um.
Quebrar a corda em dois pedaços
alert ("Please select file " +
"to delete");
Interessante notar. Tentou:
alert("Some \
string \
wrapped \
across \
mutliples lines.")
E isso funcionou. No entanto, por acidente!, Havia um caractere de espaço após a barra invertida final (todas as outras barras invertidas estavam no final da linha). E isso causou um erro no javascript! A remoção desse espaço corrigiu o erro.
Isso está no ADT para Android usando o Cordova.
Some\n<4 spaces>string\n<4 spaces>wrapped\n<4 spaces>across\n<4 spaces>multiple lines.
Você pode apenas usar
1: alert("Please select file" +
2: " to delete");
Isso deve funcionar
Você pode quebrar uma constante de cadeia longa em pedaços lógicos e atribuí-los a uma matriz. Em seguida, faça um join
com uma string vazia como delimitador.
var stringArray = [
'1. This is first part....',
'2. This is second part.....',
'3. Finishing here.'
];
var bigLongString = stringArray.join('');
console.log(bigLongString);
A saída será:
- Esta é a primeira parte .... 2. Esta é a segunda parte ..... 3. Terminando aqui.
Há um ligeiro desempenho atingido dessa maneira, mas você ganha em legibilidade e manutenção de código.
Uma boa solução aqui para usuários do VSCode , se uma sequência dividida em várias linhas causar o problema (eu enfrentei isso quando tive que testar um token JWT longo e, de alguma forma, usar literais de modelo não funcionou.)
Tentei várias sugestões acima, mas recebi um aviso de caractere ILEGAL no inspetor de código do Chrome. O seguinte funcionou para mim (embora só tenha sido testado no Chrome!)
alert('stuff on line 1\\nstuff on line 2);
sai como ...
stuff on line 1
stuff on line 2
OBSERVAÇÃO a barra invertida dupla !! ... isso parece ser importante!
Não há necessidade de quebra manual de código. Basta adicionar \ n onde deseja quebrar.
alert ("Please Select file \n to delete");
Isso mostrará o alerta como
Please select file
to delete.