Come creo una nuova riga in Javascript?


121
var i;
for(i=10; i>=0; i= i-1){
   var s;
   for(s=0; s<i; s = s+1){
    document.write("*");
   }
   //i want this to print a new line
   /document.write(?);

}

Sto stampando una piramide di stelle, non riesco a stampare la nuova riga.


5
document.write ( "<br>"); // se si utilizza un .html
jasonleonhard

Discussione correlata qui .
RBT

Risposte:


195

Usa il \nper un carattere di nuova riga.

document.write("\n");

Puoi anche averne più di uno:

document.write("\n\n\n"); // 3 new lines!  My oh my!

Tuttavia, se viene visualizzato in HTML, ti consigliamo di utilizzare il tag HTML per una nuova riga:

document.write("<br>");

La stringa Hello\n\nTestnella tua fonte sarà simile a questa:

Hello!

Test

La stringa Hello<br><br>Testavrà questo aspetto nel sorgente HTML:

Hello<br><br>Test

Quello HTML verrà visualizzato come interruzioni di riga per la persona che visualizza la pagina, \nil testo trascina semplicemente alla riga successiva nel sorgente (se è su una pagina HTML).


5
Per definizione, se l'OP sta usando document.write, è una pagina HTML, non una pagina XHTML. <br>è l'interruzione di riga corretta per una pagina HTML. <br />è XHTML.
TJ Crowder

1
<br> incredibile Grazie mille
Jeya Suriya Muthumari

31

che ne dite di:

document.write ("<br>");

(supponendo che tu sia in una pagina html, poiché un avanzamento riga da solo verrà visualizzato solo come uno spazio)


9

Usa un <br>tag per creare un'interruzione di riga nel documento

document.write("<br>");

Ecco un esempio di violino


1
+1 perché questo sembra essere ciò che l'OP sta davvero cercando :) (br vs \ n)
Demian Brecht,

Come lo sai? È bello sottolineare BR, ma un PRE avrebbe potuto essere altrettanto facilmente anche lì. Se stanno costruendo arte ASCII, il mio pensiero è che sia testo in chiaro.
Jared Farrish

@ Jared: come si chiama document.writeun documento di testo normale? (Ad esempio, come si inserisce il scripttag?) Un buon punto su pre, tuttavia, potrebbe facilmente essere una presezione.
TJ Crowder

@TJ - La visualizzazione è in testo normale, come nell'arte ASCII. È ancora un documento HTML, sebbene lo mostri solo come visualizzazione di testo normale.
Jared Farrish

@ Jared: Sì, ho capito il tuo punto. (Pensavo che l'altra tua parte riguardasse un text/plaindottore, ma penso di essere stato chiaro sul fatto che presia un buon punto.)
TJ Crowder

4

Usa "\n":

document.write("\n");

Nota, deve essere racchiuso tra virgolette doppie per poter essere interpretato come una nuova riga. No, non è così.


1
L'output di una nuova riga in una pagina HTML non introduce una nuova riga in un documento HTML. (E non devono essere virgolette doppie, vanno bene anche le virgolette singole.)
TJ Crowder,

@TJ - A meno che non sia coinvolto un PRE?
Jared Farrish

Ooh, tranne per il tuo punto di commento su un'altra risposta su un preelemento. Buon punto. Se inviare arte ASCII a una presezione, \npotrebbe essere la cosa giusta ... (Modifica: LOL, commenti sovrapposti.)
TJ Crowder

@TJ Crowder - Ecco un esempio di ciò che intendevo (sviluppato in modo grossolano
Jared Farrish

@ Jared: Oh, il tuo commento preera perfettamente chiaro. (Chiuso il tag per te: jsfiddle.net/wT3Ab/1 ) Best,
TJ Crowder

3

document.writeln()è quello che stai cercando o document.write('\n' + 'words')se stai cercando una maggiore granularità quando viene utilizzata la nuova linea



2

Per creare una nuova linea, il simbolo è "\ n"

var i;
for(i=10; i>=0; i= i-1){
   var s;
   for(s=0; s<i; s = s+1){
    document.write("*");
   }
   //i want this to print a new line
   document.write('\n');

}

Se stai inviando l'output alla pagina, ti consigliamo di utilizzare al "<br/>"posto di '/n';

Caratteri di escape in JavaScript


Non deve essere tra virgolette doppie?
Jared Farrish

5
Nessuna virgoletta doppia e singola sono le stesse in JavaScript. Non puoi iniziare con virgolette doppie e finire con una singola.
kemiller2002

Bene, questo lo so. Semplicemente non sapevo che il single e il doppio venivano trattati allo stesso modo in JS. Deve essere bloccato in PHP.
Jared Farrish

Spostarsi tra le lingue è sempre un dolore :)
kemiller2002

Buono a sapersi, grazie. Impara qualcosa di nuovo ogni giorno. :) Errore innocuo, probabilmente.
Jared Farrish

2

Nella pagina html:

document.write("<br>"); 

ma se sei nel file JavaScript, allora funzionerà come una nuova riga:

document.write("\n");

1

Per una stringa scrivo solo "\n"per darmi una nuova riga. Ad esempio, digitando console.log("First Name: Rex" + "\n" + "Last Name: Blythe");Will digiterà:

Nome: Rex

Cognome: Blythe


1

puoi anche piramide di stelle come questa

for (var i = 5; i >= 1; i--) {
     var py = "";
     for (var j = i; j >= 1; j--) {
         py += j;

     }
     console.log(py);
 }

0

\ n -> il carattere di nuova riga non funziona per l'inserimento di una nuova riga.

    str="Hello!!";
    document.write(str);
    document.write("\n");
    document.write(str);

Ma se usiamo il codice seguente, funziona bene e fornisce una nuova riga.

    document.write(str);
    document.write("<br>");
    document.write(str);

Nota: ho provato in Visual Studio Code .


Ciò presuppone che il testo verrà visualizzato come HTML. Non sufe se questa è davvero una risposta generica qui.
GhostCat

0

la tua soluzione è

var i;
for(i=10; i>=0; i= i-1){
   var s;
   for(s=0; s<i; s = s+1){
    document.write("*");
   }
   //printing new line
   document.write("<br>");
}

-1

\ n non funziona. Usa tag html

document.write("<br>");
document.write("?");

-1

Se stai usando un file JavaScript (.js), usa document.write("\n");. Se ti trovi in ​​un file html (.html o. Htm), usa document.write("<br/>");.


-1
document.write("\n");

non funzionerà se lo stai eseguendo ( document.write();) più volte.

Ti suggerisco di scegliere:

document.write("<br>");

PS So che le persone hanno dichiarato questa risposta sopra ma non hanno trovato la differenza da nessuna parte, quindi :)



-1

Puoi usare il link sottostante: Nuova riga in javascript

  var i;
for(i=10; i>=0; i= i-1){
   var s;
   for(s=0; s<i; s = s+1){
    document.write("*");
   }
   //i want this to print a new line
   /document.write('<br>');

}

1
Il tuo collegamento è interrotto e il tuo esempio di codice non dice nulla che la risposta accettata del 2011 non dica già.
Quentin

Bene, il collegamento è corretto, ma punta a una demo senza spiegazioni e non stai ancora dicendo nulla ora già detto nel 2011.
Quentin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.