255 votes

Comment briser une chaîne sur plusieurs lignes de code dans JavaScript?

Existe-t-il un caractère en JavaScript pour scinder une ligne de code de manière à ce qu'il soit lu en continu malgré le fait qu'il se trouve sur une nouvelle ligne?

Quelque chose comme....

1. alerte ("Veuillez sélectionner le fichier   
2. \ supprimer ");

332voto

Michael Haren Points 42641

Dans votre exemple, vous pouvez rompre la chaîne en deux morceaux:

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 @Gumbo suggéré:

alert ( "Please Select file\
 to delete");

Notez que cette barre oblique inverse approche n'est pas nécessairement préféré, et peut-être pas universellement pris en charge (j'ai eu du mal à trouver des données précises sur ce sujet). C'est pas dans l' ECMA 5.1 spec.

Lorsque vous travaillez avec d'autres codes (pas de guillemets), les sauts de ligne sont ignorés, et parfaitement acceptable. Par exemple:

if(SuperLongConditionWhyIsThisSoLong
  && SuperLongConditionOnAnotherLine
  && SuperLongConditionOnThirdLineSheesh)
{
    // launch_missiles();
}

48voto

Gumbo Points 279147

Mettre la barre oblique à la fin de la ligne:

alert("Please Select file\
 to delete");

Edit je remarque que ce n'est pas une partie de ECMAScript chaînes de caractères que les caractères de fin de ligne ne sont pas autorisés à tous:

Un"LineTerminator' personnage ne peut pas apparaître dans une chaîne littérale, même s'il est précédé d'une barre oblique inverse \. La bonne façon de provoquer une ligne de caractère de terminaison de faire partie de la chaîne de valeur d'une chaîne de caractères littérale est l'utilisation d'une séquence d'échappement tels que \n ou \u000A.

Donc, en utilisant la concaténation de chaîne est le meilleur choix.

9voto

Jason Punyon Points 21244

Briser la ficelle en deux morceaux

 alert ("Please Select file" +
       "to delete");
 

6voto

There Points 22

Intéressant à noter. A essayé:

 alert("Some \
    string \
    wrapped \
    across \
    mutliples lines.")
 

Et cela a fonctionné. Cependant, en cas d'accident!, Il y avait un espace après la dernière barre oblique inverse (tous les autres antislash étaient à la fin de la ligne). Et cela a provoqué une erreur dans le javascript! La suppression de cet espace a cependant corrigé l'erreur.

Ceci est dans ADT pour Android en utilisant Cordova.

1voto

Jaime Garcia Points 1869

Vous pouvez simplement utiliser

 1:  alert("Please select file" +
2:        " to delete");
 

Cela devrait fonctionner

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X