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.