Domanda

C'è un personaggio in JavaScript per spezzare una riga di codice in modo che venga letta come continua nonostante sia su una nuova linea?

Qualcosa di simile ....

1. alert ( "Please Select file   
2. \ to delete" );
È stato utile?

Soluzione

Nel tuo esempio, è possibile suddividere la stringa in due pezzi:

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

In alternativa, quando si tratta di una stringa, come nel tuo caso, è possibile utilizzare un backslash come suggerito @Gumbo:

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

Si noti che questo approccio è rovesciato non necessariamente preferito , e forse non supportato universalmente ( ho avuto difficoltà a trovare dati concreti su questo). Si tratta di non nel ECMA 5.1 spec .

Quando si lavora con altro codice (non tra virgolette), interruzioni di riga sono ignorati, e perfettamente accettabili. Ad esempio:

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

Altri suggerimenti

Mettere la barra rovesciata alla fine della riga:

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

Modifica devo notare che questa è non parte di noreferrer stringhe ECMAScript come linea di terminazione caratteri non sono ammessi a tutti:

  

Un ' LineTerminator ' carattere non può apparire in una stringa letterale, anche se preceduto da un backslash \. Il modo corretto per causare un carattere terminazione di linea a far parte del valore di stringa di una stringa letterale è quello di utilizzare una sequenza di escape come \n o \u000A.

Quindi, utilizzando concatenazione di stringhe è la scelta migliore.


Aggiorna il 2015/01/05 letterali stringa in ECMAScript5 permettono la sintassi citato:

  

Un carattere terminatore di linea non può essere presente in una stringa letterale, non come parte di un LineContinuation per produrre la sequenza di caratteri vuota. Il modo corretto per causare un carattere terminatore di riga per essere parte del valore stringa di una stringa letterale è quello di utilizzare una sequenza di escape come <=> o <=>.

stringhe di modello :

  

stringhe di modello sono stringhe letterali che permettono espressioni embedded.   È possibile utilizzare stringhe multilinea e caratteristiche stringa di interpolazione con   loro.

Ad esempio,

alert(`Please Select file   
to delete`);

avviserà

Please Select file   
to delete

suddividere la stringa in due pezzi

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

E 'interessante notare. Hai provato:

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

E questo ha funzionato. Tuttavia, in caso !, c'era uno spazio segue la barra rovesciata finale (tutte le altre barre rovesciate erano alla fine della riga). E questo ha causato un errore nel javascript! La rimozione di questo spazio fisso l'errore, però.

Questo è in ADT per Android utilizzando Cordova.

Si può semplicemente utilizzare

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

Che dovrebbe funzionare

È possibile interrompere una lunga stringa costante in blocchi logici e assegnarli in un array. Poi fare un join con una stringa vuota come delimitatore.

var stringArray = [
  '1. This is first part....',
  '2. This is second part.....',
  '3. Finishing here.'
];

var bigLongString = stringArray.join('');
console.log(bigLongString);

Output sarà:

  
      
  1. Questa è la prima parte .... 2. Questa è la seconda parte ..... 3. Finitura qui.
  2.   

C'è un leggero calo di prestazioni in questo modo, ma si guadagna in leggibilità del codice e la manutenibilità.

Ho provato un certo numero di suggerimenti di cui sopra, ma ho un carattere non valido avvertimento in codice di Chrome ispettore. Di seguito ha lavorato per me (testato solo in Chrome però!)

alert('stuff on line 1\\nstuff on line 2);

viene fuori come ...

stuff on line 1
stuff on line 2

Si noti la doppia barra rovesciata !! ... questo sembra essere importante!

Non c'è bisogno di qualsiasi interruzione manuale in codice. Basta aggiungere \ n dove si desidera interrompere.

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

Questo mostrerà l'avviso come

Please select file 
to delete.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top