Como crio uma nova linha em 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(?);

}

Estou imprimindo uma pirâmide de estrelas, não consigo imprimir a nova linha.

Technupe
fonte
5
document.write ("<br>"); // se estiver usando um
arquivo
Tópico relacionado aqui .
RBT

Respostas:

195

Use o \npara um caractere de nova linha.

document.write("\n");

Você também pode ter mais de um:

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

No entanto, se estiver renderizando para HTML, convém usar a tag HTML para uma nova linha:

document.write("<br>");

A string Hello\n\nTestna sua fonte ficará assim:

Hello!

Test

A string Hello<br><br>Testserá assim na fonte HTML:

Hello<br><br>Test

O HTML será renderizado como quebras de linha para a pessoa que está visualizando a página; \nbasta colocar o texto na próxima linha da fonte (se estiver em uma página HTML).

Tom Gullen
fonte
5
Por definição, se o OP estiver usando document.write, é uma página HTML, não uma página XHTML. <br>é a quebra de linha correta para uma página HTML. <br />é XHTML.
TJ Crowder
1
<br> Graças surpreendentes um monte
Jeya Suriya Muthumari
31

e quanto a:

document.write ("<br>");

(supondo que você esteja em uma página html, já que apenas um feed de linha será exibido como espaço)

roubar
fonte
9

Use uma <br>tag para criar uma quebra de linha no documento

document.write("<br>");

Aqui está uma amostra de violino

JaredPar
fonte
1
+1 como este parece ser o que o OP é realmente procurando :) (br vs \ n)
Demian Brecht
Como você sabe? É bom ressaltar o BR, mas um PRE também poderia estar lá com a mesma facilidade. Se eles estão construindo arte ASCII, meu pensamento é o texto simples.
Jared Farrish
@ Jared: Como você chama document.writeum documento em texto sem formatação? (Por exemplo, como você coloca a scripttag?) No preentanto, um bom argumento sobre isso poderia ser facilmente uma preseção.
TJ Crowder
@TJ - A exibição é em texto simples, como na arte ASCII. Ainda é um documento HTML, embora apenas o mostre como exibição em texto sem formatação.
Jared Farrish
@ Jared: Sim, eu peguei o seu ponto. (Eu pensei que a outra parte foi sobre um text/plaindoc, mas acho que foi claro sobre a preser um ponto bom.)
TJ Crowder
4

Use "\n":

document.write("\n");

Observe que ele deve estar entre aspas duplas para que seja interpretado como uma nova linha. Não, não faz.

Jared Farrish
fonte
1
A saída de uma nova linha em uma página HTML não apresentará uma nova linha em um documento HTML. (E ele não tem que ser aspas, aspas simples são muito bem também.)
TJ Crowder
@TJ - A menos que haja um PRE envolvido?
Jared Farrish
Ooh, exceto pelo seu comentário sobre outra resposta sobre um preelemento. Bom ponto. Se a saída de arte ASCII a uma preseção, \npode muito bem ser a coisa certa ... (Edit: LOL, sobrepondo comentários.)
TJ Crowder
@TJ Crowder - Aqui está um exemplo do que eu quis dizer (grosseiramente desenvolvido): jsfiddle.net/wT3Ab
Jared Farrish
@ Jared: Oh, seu comentário sobre prefoi perfeitamente claro. (Fechei a tag para você: jsfiddle.net/wT3Ab/1 ) Melhor,
TJ Crowder
3

document.writeln()é o que você está procurando ou document.write('\n' + 'words')se procura mais granularidade quando a nova linha é usada

acconrad
fonte
2

Como alternativa, escreva para um elemento com o CSS white-space: pree use \npara caracteres de nova linha.

alex
fonte
Obrigado! Essa foi por pouco e white-space: pre-wrapfez exatamente o que eu queria! w3schools.com/cssref/pr_text_white-space.asp
frederj
2

Para criar uma nova linha, o símbolo é '\ 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 você estiver enviando para a página, desejará usar em "<br/>"vez de '/n';

Escapar caracteres em JavaScript

kemiller2002
fonte
Não precisa estar entre aspas duplas?
Jared Farrish
5
As aspas duplas e simples são iguais em JavaScript. Você simplesmente não pode começar com aspas duplas e terminar com uma única.
precisa saber é o seguinte
Bem, eu sei disso. Só não sabia que solteiros e duplos eram tratados da mesma forma em JS. Deve estar preso no PHP.
Jared Farrish
Movendo-se entre a linguagem é sempre uma dor :)
kemiller2002
É bom saber, obrigado. Aprenda algo novo todos os dias. :) Erro inofensivo, provavelmente.
Jared Farrish
2

Na página html:

document.write("<br>"); 

mas se você estiver no arquivo JavaScript, isso funcionará como uma nova linha:

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

Para uma string, eu apenas escrevo "\n"para me dar uma nova linha. Por exemplo, digitar console.log("First Name: Rex" + "\n" + "Last Name: Blythe");Digitará:

Primeiro nome: Rex

Sobrenome: Blythe

Tito E Surek
fonte
1

você também pode pirâmide de estrelas como esta

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

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

\ n -> o caractere de nova linha não está funcionando para inserir uma nova linha.

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

Mas se usarmos o código abaixo, ele funcionará bem e fornecerá uma nova linha.

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

Nota :: Eu tentei no Visual Studio Code .

VicXj
fonte
Isso pressupõe que o texto será exibido como HTML. Não é suficiente se essa é realmente uma resposta genérica aqui.
GhostCat 16/09/17
0

sua solução é

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
fonte
-1

\ n não funciona. Use tags html

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

Se você estiver usando um arquivo JavaScript (.js), use document.write("\n");. Se você estiver em um arquivo html (.html ou. Htm), use document.write("<br/>");.

Um Panda de Codificação
fonte
-1
document.write("\n");

não funcionará se você estiver executando ( document.write();) várias vezes.

Sugiro que você escolha:

document.write("<br>");

PS: Eu sei que as pessoas afirmaram essa resposta acima, mas não encontraram a diferença em nenhum lugar, então :)


fonte
-1

Tente escrever seu código entre a pré-tag HTML.

Macario Polo
fonte
gentilmente adicione código também. seria melhor para entender
Shashin Bhayani
-1

Você pode usar o link abaixo: Nova linha em 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
fonte
1
Seu link está quebrado e seu exemplo de código não diz nada que a resposta aceita de 2011 ainda não diga.
Quentin
Bem, o link foi corrigido, mas aponta para uma demonstração sem explicações e você ainda não está dizendo nada que já foi dito em 2011.
Quentin