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.

Technupe
źródło
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).

Tom Gullen
źródło
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)

obrabować
źródło
9

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

document.write("<br>");

Oto przykładowe skrzypce

JaredPar
źródło
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.

Jared Farrish
źródło
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

acconrad
źródło
2

Alternatywnie, napisz do elementu za pomocą CSS white-space: prei użyj \nznaku nowej linii.

Alex
źródło
Dzięki! To było blisko i white-space: pre-wrapzrobiłem dokładnie to, co chciałem! w3schools.com/cssref/pr_text_white-space.asp
frederj
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

kemiller2002
źródło
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");
Suhani Mendapara
źródło
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

Tito E Surek
źródło
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);
 }
Shadab Ali
źródło
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 .

VicXj
źródło
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>");
}
Adeojo Emmanuel IMM
źródło
-1

\ n nie działa. Użyj tagów HTML

document.write("<br>");
document.write("?");
Paradox Nafi
źródło
-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/>");.

Kodująca panda
źródło
-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 :)


źródło
-1

Spróbuj wpisać swój kod między znacznikiem wstępnym HTML.

Macario Polo
źródło
uprzejmie dodaj też kod. lepiej byłoby to zrozumieć
Shashin Bhayani
-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>');

}
Nagnath Mungade
źródło
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