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.