Réponses:
Dans votre exemple, vous pouvez diviser la chaîne en deux parties:
alert ( "Please Select file"
+ " to delete");
Ou, quand c'est une chaîne, comme dans votre cas, vous pouvez utiliser une barre oblique inverse comme l'a suggéré @Gumbo:
alert ( "Please Select file\
to delete");
Notez que cette approche de barre oblique inverse n'est pas nécessairement préférée , et peut-être pas universellement prise en charge (j'ai eu du mal à trouver des données matérielles à ce sujet). Ce n'est pas dans la spécification ECMA 5.1 .
Lorsque vous travaillez avec un autre code (pas entre guillemets), les sauts de ligne sont ignorés et parfaitement acceptables. Par exemple:
if(SuperLongConditionWhyIsThisSoLong
&& SuperLongConditionOnAnotherLine
&& SuperLongConditionOnThirdLineSheesh)
{
// launch_missiles();
}
Mettez la barre oblique inverse à la fin de la ligne:
alert("Please Select file\
to delete");
Modifier Je dois noter que cela ne fait pas partie des chaînes ECMAScript car les caractères de fin de ligne ne sont pas autorisés du tout:
Un caractère ' LineTerminator ' ne peut pas apparaître dans un littéral de chaîne, même s'il est précédé d'une barre oblique inverse
\
. La bonne façon de faire en sorte qu'un caractère de terminaison de ligne fasse partie de la valeur de chaîne d'un littéral de chaîne consiste à utiliser une séquence d'échappement telle que\n
ou\u000A
.
L'utilisation de la concaténation de chaînes est donc le meilleur choix.
Update 2015-01-05 Les littéraux de chaîne dans ECMAScript5 autorisent la syntaxe mentionnée:
Un caractère de terminaison de ligne ne peut pas apparaître dans un littéral de chaîne, sauf dans le cadre d'un LineContinuation pour produire la séquence de caractères vide. La bonne façon de faire en sorte qu'un caractère de terminaison de ligne fasse partie de la valeur String d'un littéral de chaîne consiste à utiliser une séquence d'échappement telle que
\n
ou\u000A
.
\n
or \u000A
. "
\r\n
au lieu de \n
?
ECMAScript 6 introduit des chaînes de modèle :
Les chaînes de modèle sont des littéraux de chaîne permettant des expressions incorporées. Vous pouvez utiliser des chaînes multi-lignes et des fonctions d'interpolation de chaînes avec elles.
Par exemple,
alert(`Please Select file
to delete`);
alertera
Please Select file
to delete
`
clé. Puisqu'il s'agit d'un modificateur, il n'est pas écrit directement. C'est probablement la raison pour laquelle vous pensiez que vous devriez appuyer deux fois, mais cela en écrira deux. Appuyez sur la barre d'espace pour n'en écrire qu'une seule.
Brisez la chaîne en deux morceaux
alert ("Please select file " +
"to delete");
Intéressant à noter. A essayé:
alert("Some \
string \
wrapped \
across \
mutliples lines.")
Et cela a fonctionné. Cependant, en cas d'accident !, un caractère espace suivait la dernière barre oblique inverse (toutes les autres barres obliques inversées étaient en fin de ligne). Et cela a provoqué une erreur dans le javascript! La suppression de cet espace a cependant corrigé l'erreur.
C'est dans ADT pour Android en utilisant Cordova.
Some\n<4 spaces>string\n<4 spaces>wrapped\n<4 spaces>across\n<4 spaces>multiple lines.
Vous pouvez simplement utiliser
1: alert("Please select file" +
2: " to delete");
Cela devrait fonctionner
Vous pouvez diviser une constante de chaîne longue en morceaux logiques et les affecter dans un tableau. Faites ensuite un join
avec une chaîne vide comme délimiteur.
var stringArray = [
'1. This is first part....',
'2. This is second part.....',
'3. Finishing here.'
];
var bigLongString = stringArray.join('');
console.log(bigLongString);
La sortie sera:
- Ceci est la première partie ... 2. Ceci est la deuxième partie ..... 3. Finir ici.
Il y a de légères performances de cette façon, mais vous gagnez en lisibilité et en maintenabilité du code.
Une bonne solution ici pour les utilisateurs de VSCode , si une chaîne se décomposant en plusieurs lignes provoque le problème (j'ai rencontré ce problème lorsque j'ai dû tester un long jeton JWT, et l'utilisation de littéraux de modèle n'a pas fait l'affaire.)
J'ai essayé un certain nombre des suggestions ci-dessus, mais j'ai reçu un avertissement de caractère ILLEGAL dans l'inspecteur de code Chrome. Ce qui suit a fonctionné pour moi (testé uniquement dans Chrome!)
alert('stuff on line 1\\nstuff on line 2);
sort comme ...
stuff on line 1
stuff on line 2
NOTEZ la double barre oblique inversée !! ... cela semble important!
Pas besoin de rupture manuelle du code. Ajoutez simplement \ n l'endroit où vous souhaitez vous interrompre.
alert ("Please Select file \n to delete");
Cela montrera l'alerte comme
Please select file
to delete.