Jak utworzyć nową linię w 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(?);

}

Drukuję piramidę gwiazd, nie mogę wydrukować nowej linii.


5
document.write ("<br>"); // jeśli używasz pliku .html
— jasonleonhard

Powiązany wątek tutaj .
— RBT

Odpowiedzi:


195

Użyj \ndla znaku nowej linii.

document.write("\n");

Możesz też mieć więcej niż jeden:

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

Jeśli jednak jest to renderowanie do HTML, będziesz chciał użyć tagu HTML dla nowej linii:

document.write("<br>");

Ciąg Hello\n\nTestw twoim źródle będzie wyglądał następująco:

Hello!

Test

Ciąg Hello<br><br>Testbędzie wyglądał następująco w źródle HTML:

Hello<br><br>Test

Kod HTML będzie renderowany jako podziały wierszy dla osoby przeglądającej stronę, a po \nprostu przeniesie tekst do następnego wiersza w źródle (jeśli jest na stronie HTML).


5
Z definicji, jeśli OP używa document.write, jest to strona HTML, a nie strona XHTML. <br>to poprawny podział wiersza dla strony HTML. <br />to XHTML.
— TJ Crowder

1
<br> niesamowite
— Wielkie

31

Co powiesz na:

document.write ("<br>");

(zakładając, że jesteś na stronie html, ponieważ sam wysuw wiersza będzie wyświetlany tylko jako spacja)


9

Użyj <br>znacznika, aby utworzyć podział wiersza w dokumencie

document.write("<br>");

Oto przykładowe skrzypce


1
+1, jak to wydaje się być co OP jest naprawdę szuka :) (br vs \ n)
— Demian Brecht

Skąd wiesz? Dobrze jest wskazać BR, ale przedwzmacniacz mógłby równie dobrze tam być. Jeśli budują grafikę ASCII, myślę, że to zwykły tekst.
— Jared Farrish

@Jared: Jak wywołać document.writezwykły dokument tekstowy? (Np. Jak wstawiasz scripttag?). Zaletą pretego może być jednak presekcja.
— TJ Crowder

@TJ - Wyświetlacz jest zwykłym tekstem, jak w sztuce ASCII. Wciąż jest to dokument HTML, chociaż wyświetla go tylko jako zwykły tekst.
— Jared Farrish

@Jared: Tak, zrozumiałem twój punkt widzenia. (Myślałem, że twój drugi kawałek dotyczy text/plaindoktora, ale myślę, że byłem jasny co do pretego, że jest to dobry punkt).
— TJ Crowder

4

Zastosowanie "\n":

document.write("\n");

Zauważ, że musi być ujęty w podwójne cudzysłowy, aby został zinterpretowany jako nowa linia. Nie, nie ma.


1
Umieszczenie nowego wiersza na stronie HTML nie spowoduje wprowadzenia nowego wiersza w dokumencie HTML. (I to nie musi być cudzysłowy pojedyncze cytaty są w porządku, jak również.)
— TJ Crowder

@TJ - Chyba że jest zaangażowany PRE?
— Jared Farrish

Och, poza twoim punktem komentowania innej odpowiedzi na temat preelementu. Słuszna uwaga. Jeśli wyprowadzasz grafikę ASCII do presekcji, \nmoże być właściwą rzeczą ... (Edycja: LOL, nakładające się komentarze.)
— TJ Crowder Kwietnia

@TJ Crowder - Oto przykład tego, co miałem na myśli (prymitywnie opracowany): jsfiddle.net/wT3Ab
— Jared Farrish

@Jared: Och, twój komentarz na temat prebył całkowicie jasny. (Zamknięto tag dla Ciebie: jsfiddle.net/wT3Ab/1 ) Najlepsze,
— TJ Crowder

3

document.writeln()jest tym, czego szukasz lub document.write('\n' + 'words')jeśli szukasz większej szczegółowości w używaniu nowej linii



2

Aby utworzyć nową linię, symbolem jest „\ 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');

}

Jeśli drukujesz na stronę, będziesz chciał użyć "<br/>"zamiast '/n';

Znaki ucieczki w JavaScript


Nie musi być w cudzysłowie?
— Jared Farrish

5
Żadne podwójne i pojedyncze cudzysłowy nie są takie same w JavaScript. Po prostu nie możesz zaczynać od podwójnego cudzysłowu i kończyć pojedynczym.
— kemiller2002

Wiem o tym. Po prostu nie wiedziałem, że single i podwójne są traktowane tak samo w JS. Musi utknąć w PHP.
— Jared Farrish

Poruszanie się między językami jest zawsze uciążliwe :)
— kemiller2002

Dobrze wiedzieć, dzięki. Naucz się czegoś nowego każdego dnia. :) Prawdopodobnie nieszkodliwy błąd.
— Jared Farrish

2

Na stronie html:

document.write("<br>"); 

ale jeśli jesteś w pliku JavaScript, to zadziała jako nowa linia:

document.write("\n");

1

W przypadku napisu po prostu piszę, "\n"aby dać mi nową linię. Na przykład wpisanie console.log("First Name: Rex" + "\n" + "Last Name: Blythe");Will typ:

Imię: Rex

Nazwisko: Blythe


1

możesz także piramidę gwiazd, taką jak ta

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

     }
     console.log(py);
 }

0

\ n -> znak nowej linii nie działa przy wstawianiu nowej linii.

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

Ale jeśli użyjemy poniższego kodu, to działa dobrze i daje nową linię.

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

Uwaga: próbowałem w Visual Studio Code .


Zakłada się, że tekst zostanie wyświetlony jako HTML. Nie ma to znaczenia, jeśli jest to naprawdę ogólna odpowiedź.
— GhostCat,

0

Twoim rozwiązaniem jest

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

Jeśli używasz pliku JavaScript (.js), użyj document.write("\n");. Jeśli jesteś w pliku html (.html lub. Htm), użyj document.write("<br/>");.


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

nie zadziała, jeśli wykonujesz it ( document.write();) wiele razy.

Sugeruję, abyś poszedł:

document.write("<br>");

PS Wiem, że ludzie podali tę odpowiedź powyżej, ale nigdzie nie znaleźli różnicy :)



-1

Możesz użyć poniższego linku: Nowa linia w 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
Twój link jest uszkodzony, a przykładowy kod nie mówi nic, czego nie zawiera zaakceptowana odpowiedź z 2011 roku.
— Quentin

Cóż, link jest naprawiony, ale wskazuje na demo bez wyjaśnień i nadal nie mówisz nic, co zostało już powiedziane w 2011 r.
— Quentin
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.