Comment puis-je casser une chaîne à travers plus d'une ligne de code en JavaScript?
-
21-08-2019 - |
Question
Y at-il un personnage JavaScript afin de briser une ligne de code afin qu'il soit lu comme continue en dépit d'être sur une nouvelle ligne?
Quelque chose comme ....
1. alert ( "Please Select file 2. \ to delete" );
La solution
Dans votre exemple, vous pouvez briser la chaîne en deux morceaux:
alert ( "Please Select file"
+ " to delete");
Ou, quand il est une chaîne, comme dans votre cas, vous pouvez utiliser un backslash comme @Gumbo suggéré:
alert ( "Please Select file\
to delete");
Notez que cette approche est pas nécessairement préféré , et peut-être pas pris en charge universellement ( J'ai eu du mal à trouver des données précises sur ce sujet). Il est pas ECMA 5.1 spec .
Lorsque vous travaillez avec un autre code (pas entre guillemets), les sauts de ligne sont ignorés, et tout à fait acceptable. Par exemple:
if(SuperLongConditionWhyIsThisSoLong
&& SuperLongConditionOnAnotherLine
&& SuperLongConditionOnThirdLineSheesh)
{
// launch_missiles();
}
Autres conseils
Mettre la barre oblique inverse à la fin de la ligne:
alert("Please Select file\
to delete");
Modifier Je dois noter que c'est pas de noreferrer chaînes de ECMAScript comme caractères de terminaison de ligne ne sont pas autorisés à tous:
A ' LineTerminator ' caractère ne peut pas apparaître dans une chaîne littérale, même si elle est précédée d'une barre oblique inverse
\
. La manière correcte pour provoquer un caractère de fin de ligne pour faire partie de la valeur de chaîne d'une chaîne de caractères consiste à utiliser une séquence d'échappement telle que\n
ou\u000A
.
Donc, en utilisant la concaténation de chaîne est le meilleur choix.
Mise à jour 05/01/2015
ECMAScript 6 introduit chaînes de modèle : chaînes de modèle sont littéraux de chaîne permettant des expressions intégrées.
Vous pouvez utiliser des chaînes multi-lignes et caractéristiques d'interpolation de chaîne avec
les. Par exemple, alertera
alert(`Please Select file
to delete`);
Please Select file
to delete
Cassez la chaîne en deux morceaux
alert ("Please select file " +
"to delete");
Il est intéressant de noter. Essayé:
alert("Some \
string \
wrapped \
across \
mutliples lines.")
Et cela a fonctionné. Cependant, sur un accident !, il y avait un espace après la barre oblique inverse finale (tous les autres étaient antislashs à la fin de la ligne). Et cela a causé une erreur dans le javascript! La suppression de cet espace fixe l'erreur, cependant.
Ceci est en ADT pour Android en utilisant Cordova.
Vous pouvez simplement utiliser
1: alert("Please select file" +
2: " to delete");
Cela devrait fonctionner
Vous pouvez casser une longue constante de chaîne en morceaux logiques et les affecter dans un tableau. Ensuite, faites un avec une chaîne join
vide comme séparateur.
var stringArray = [
'1. This is first part....',
'2. This is second part.....',
'3. Finishing here.'
];
var bigLongString = stringArray.join('');
console.log(bigLongString);
Sortie sera:
- Ceci est la première partie .... 2. Ceci est la deuxième partie ..... 3. Finition ici.
Il y a une petite baisse de performance de cette façon, mais vous gagnez en lisibilité et la maintenabilité du code.
J'ai essayé un certain nombre de suggestions ci-dessus, mais eu un caractère non d'avertissement dans l'inspecteur de code Chrome. Ce qui suit a fonctionné pour moi (testé uniquement dans Chrome si!)
alert('stuff on line 1\\nstuff on line 2);
sort comme ...
stuff on line 1
stuff on line 2
NOTE la double barre oblique inverse !! ... cela semble être important!
Pas besoin d'une pause manuelle dans le code. Il suffit d'ajouter \ n où vous voulez briser.
alert ("Please Select file \n to delete");
Cela montrera l'alerte comme
Please select file
to delete.