Wie erstelle ich eine neue Zeile 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(?);

}

Ich drucke eine Pyramide von Sternen, ich kann die neue Zeile nicht zum Drucken bringen.

Technupe
quelle
5
document.write ("<br>"); // wenn Sie eine .html verwenden
jasonleonhard
Verwandter Thread hier .
RBT

Antworten:

195

Verwenden Sie das \nfür ein Zeilenumbruchzeichen.

document.write("\n");

Sie können auch mehrere haben:

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

Wenn dies jedoch in HTML gerendert wird, sollten Sie das HTML-Tag für eine neue Zeile verwenden:

document.write("<br>");

Die Zeichenfolge Hello\n\nTestin Ihrer Quelle sieht folgendermaßen aus:

Hello!

Test

Die Zeichenfolge Hello<br><br>Testsieht in der HTML-Quelle folgendermaßen aus:

Hello<br><br>Test

Der HTML-Code wird als Zeilenumbruch für die Person gerendert, die die Seite \nanzeigt. Der Text wird nur in die nächste Zeile in der Quelle eingefügt (wenn er sich auf einer HTML-Seite befindet).

Tom Gullen
quelle
5
Wenn das OP verwendet wird document.write, handelt es sich per Definition um eine HTML-Seite, nicht um eine XHTML-Seite. <br>ist der richtige Zeilenumbruch für eine HTML-Seite. <br />ist XHTML.
TJ Crowder
1
<br> erstaunlich Vielen Dank
Jeya Suriya Muthumari
31

wie wäre es mit:

document.write ("<br>");

(Angenommen, Sie befinden sich auf einer HTML-Seite, da ein Zeilenvorschub allein nur als Leerzeichen angezeigt wird.)

rauben
quelle
9

Verwenden Sie ein <br>Tag, um einen Zeilenumbruch im Dokument zu erstellen

document.write("<br>");

Hier ist ein Beispiel für eine Geige

JaredPar
quelle
1
+1, da dies das zu sein scheint, wonach das OP wirklich sucht :) (br vs \ n)
Demian Brecht
Woher weißt du das? Gut, auf BR hinzuweisen, aber ein PRE hätte genauso gut dabei sein können. Wenn sie ASCII-Kunst erstellen, ist mein Gedanke, dass es Klartext ist.
Jared Farrish
@Jared: Wie ruft man document.writeein Nur- Text-Dokument auf? (ZB, wie setzen Sie das scriptTag ein?) Ein guter Punkt über das prekönnte jedoch leicht ein preAbschnitt sein.
TJ Crowder
@TJ - Die Anzeige ist Klartext, wie in ASCII-Grafik. Es ist immer noch ein HTML-Dokument, es wird jedoch nur als Klartextanzeige angezeigt.
Jared Farrish
@ Jared: Ja, ich habe deinen Standpunkt verstanden. (Ich dachte, Ihr anderes Stück handelte von einem text/plainArzt, aber ich glaube, mir war klar, predass dies ein guter Punkt ist.)
TJ Crowder
4

Verwendung "\n":

document.write("\n");

Beachten Sie, dass es in doppelte Anführungszeichen gesetzt werden muss, damit es als Zeilenumbruch interpretiert werden kann. Nein, tut es nicht.

Jared Farrish
quelle
1
Durch die Ausgabe einer neuen Zeile in einer HTML-Seite wird keine neue Zeile in ein HTML-Dokument eingefügt. (Und es müssen keine doppelten Anführungszeichen sein, einfache Anführungszeichen sind auch in Ordnung.)
TJ Crowder
@TJ - Es sei denn, es handelt sich um einen PRE?
Jared Farrish
Oh, bis auf Ihren Punkt, in dem Sie eine andere Antwort zu einem preElement kommentieren . Guter Punkt. Wenn Sie ASCII-Grafiken in einem preAbschnitt ausgeben , ist dies \nmöglicherweise das Richtige ... (Bearbeiten: LOL, überlappende Kommentare.)
TJ Crowder
@TJ Crowder - Hier ist ein Beispiel für das, was ich meinte (grob entwickelt): jsfiddle.net/wT3Ab
Jared Farrish
@ Jared: Oh, dein Kommentar zu prewar vollkommen klar. (Das Tag für Sie geschlossen: jsfiddle.net/wT3Ab/1 ) Best,
TJ Crowder
3

document.writeln()ist das, wonach Sie suchen oder document.write('\n' + 'words')ob Sie mehr Granularität bei der Verwendung der neuen Linie suchen

acconrad
quelle
2

Alternativ können Sie mit dem CSS in ein Element schreiben white-space: preund \nfür Zeilenumbrüche verwenden.

Alex
quelle
Vielen Dank! Das war knapp und white-space: pre-wraphat genau das getan, was ich wollte! w3schools.com/cssref/pr_text_white-space.asp
frederj
2

Um eine neue Zeile zu erstellen, lautet das Symbol '\ 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');

}

Wenn Sie auf der Seite ausgeben, möchten Sie "<br/>"anstelle von verwenden '/n'.

Escapezeichen in JavaScript

kemiller2002
quelle
Es muss nicht in doppelten Anführungszeichen stehen?
Jared Farrish
5
In JavaScript sind keine doppelten und einfachen Anführungszeichen gleich. Sie können einfach nicht mit einem doppelten Anführungszeichen beginnen und mit einem einfachen enden.
kemiller2002
Nun, das weiß ich. Ich wusste nur nicht, dass Einzel- und Doppel in JS gleich behandelt wurden. Muss in PHP stecken bleiben.
Jared Farrish
Sich zwischen den Sprachen zu bewegen ist immer ein Schmerz :)
kemiller2002
Gut zu wissen, danke. Lerne jeden Tag etwas Neues. :) Harmloser Fehler wahrscheinlich.
Jared Farrish
2

In der HTML-Seite:

document.write("<br>"); 

Wenn Sie sich jedoch in einer JavaScript-Datei befinden, funktioniert dies als neue Zeile:

document.write("\n");
Suhani Mendapara
quelle
1

Für einen String schreibe ich einfach, "\n"um mir eine neue Zeile zu geben. Wenn Sie beispielsweise console.log("First Name: Rex" + "\n" + "Last Name: Blythe");Will eingeben, geben Sie Folgendes ein :

Vorname: Rex

Nachname: Blythe

Tito E Surek
quelle
1

Sie können auch eine Pyramide von Sternen wie diese

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

     }
     console.log(py);
 }
Shadab Ali
quelle
0

\ n -> Zeilenumbruchzeichen funktioniert nicht zum Einfügen einer neuen Zeile.

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

Aber wenn wir den folgenden Code verwenden, funktioniert es gut und es gibt eine neue Zeile.

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

Hinweis :: Ich habe es in Visual Studio Code versucht .

VicXj
quelle
Dies setzt voraus, dass der Text als HTML angezeigt wird. Nicht sufe, wenn das hier wirklich eine generische Antwort ist.
GhostCat
0

Ihre Lösung ist

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>");
}
Adeojo Emmanuel IMM
quelle
-1

\ n funktioniert nicht. Verwenden Sie HTML-Tags

document.write("<br>");
document.write("?");
Paradox Nafi
quelle
-1

Wenn Sie eine JavaScript-Datei (.js) verwenden, verwenden Sie document.write("\n");. Wenn Sie sich in einer HTML-Datei (.html oder .htm) befinden, verwenden Sie document.write("<br/>");.

Ein Coding Panda
quelle
-1
document.write("\n");

funktioniert nicht, wenn Sie es ( document.write();) mehrmals ausführen .

Ich schlage vor, Sie sollten gehen für:

document.write("<br>");

PS Ich weiß, dass die Leute diese Antwort oben angegeben haben, aber nirgendwo den Unterschied gefunden haben :)


quelle
-1

Versuchen Sie, Ihren Code zwischen das HTML-Pre-Tag zu schreiben.

Macario Polo
quelle
Bitte fügen Sie auch Code hinzu. es wäre besser zu verstehen
Shashin Bhayani
-1

Sie können den folgenden Link verwenden: Neue Zeile 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>');

}
Nagnath Mungade
quelle
1
Ihr Link ist defekt und Ihr Codebeispiel sagt nichts aus, was die akzeptierte Antwort von 2011 noch nicht sagt.
Quentin
Nun, der Link ist behoben, aber er verweist auf eine erklärungsfreie Demo und Sie sagen immer noch nichts, was bereits 2011 gesagt wurde.
Quentin