Как мне создать новую строку в 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(?);

}

Я печатаю пирамиду из звезд, не могу напечатать новую строку.

Technupe
источник
5
document.write ( "<br>"); // при использовании .html
jasonleonhard
Связанная тема здесь .
RBT,

Ответы:

195

Используйте \nдля символа новой строки.

document.write("\n");

У вас также может быть несколько:

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

Однако, если это рендеринг в HTML, вы захотите использовать тег HTML для новой строки:

document.write("<br>");

Строка Hello\n\nTestв вашем исходном коде будет выглядеть так:

Hello!

Test

В Hello<br><br>Testисходном HTML-коде строка будет выглядеть так:

Hello<br><br>Test

HTML \n-код будет отображаться как разрывы строк для человека, просматривающего страницу, просто переносит текст на следующую строку в источнике (если он на HTML-странице).

Том Галлен
источник
5
По определению, если OP использует document.write, это страница HTML, а не страница XHTML. <br>- правильный перенос строки для HTML-страницы. <br />это XHTML.
TJ Crowder
1
<br> удивительно Большое спасибо
Джея Сурия Мутумари
31

как насчет:

document.write ("<br>");

(при условии, что вы находитесь на странице html, поскольку только перевод строки будет отображаться только как пробел)

грабить
источник
9

Используйте <br>тег для создания разрыва строки в документе

document.write("<br>");

Вот образец скрипки

JaredPar
источник
1
+1, поскольку это, кажется, именно то, что OP действительно ищет :) (br vs \ n)
Демиан Брехт
Откуда вы знаете? Приятно указать на BR, но и PRE тоже мог бы оказаться там. Если они создают искусство ASCII, я думаю, что это простой текст.
Джаред Фарриш
@ Джаред: Как вы вызываете document.writeтекстовый документ? (Например, как вы вставляете scriptтег?) preТем не менее, хороший момент в этом может быть preраздел.
TJ Crowder
@TJ - отображение открытого текста, как в ASCII art. Это все еще HTML-документ, хотя он просто показывает его в виде обычного текста.
Джаред Фарриш,
@ Джаред: Да, я понял вашу точку зрения. (Я думал, что твоя другая статья была о text/plainдокументе, но я думаю, что я ясно дал понять, preчто это хорошая мысль.)
TJ Crowder
4

Использование "\n":

document.write("\n");

Обратите внимание, что он должен быть заключен в двойные кавычки, чтобы его можно было интерпретировать как новую строку. Нет, это не так.

Джаред Фарриш
источник
1
Вывод новой строки на HTML-странице не приведет к появлению новой строки в HTML-документе. (И это не обязательно должны быть двойные кавычки, одинарные кавычки тоже подходят.)
TJ Crowder
@TJ - Если не участвует PRE?
Джаред Фарриш,
Ох, за исключением вашего комментария к другому ответу об preэлементе. Хорошая точка зрения. Если вы выводите ASCII-арт в preраздел, это \nможет быть правильным решением ... (Edit: LOL, перекрывающиеся комментарии.)
TJ Crowder
@TJ Crowder - Вот пример того, что я имел в виду (грубо разработано): jsfiddle.net/wT3Ab
Джаред Фарриш,
@ Джаред: О, твой комментарий preбыл совершенно ясен. (Тег закрыл для вас: jsfiddle.net/wT3Ab/1 ) С уважением ,
TJ Crowder
3

document.writeln()это то, что вы ищете, или document.write('\n' + 'words')если вы ищете более детальную информацию при использовании новой строки

acconrad
источник
2

В качестве альтернативы можно написать элемент с помощью CSS white-space: preи использовать \nдля символа новой строки.

Алекс
источник
Спасибо! Это было близко, и я white-space: pre-wrapсделал именно то, что хотел! w3schools.com/cssref/pr_text_white-space.asp
frederj
2

Чтобы создать новую строку, используйте символ '\ 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');

}

Если вы выводите на страницу, вы захотите использовать "<br/>"вместо '/n';

Escape-символы в JavaScript

kemiller2002
источник
Не обязательно в двойных кавычках?
Джаред Фарриш,
5
В JavaScript нет одинаковых двойных и одинарных кавычек. Вы просто не можете начинать с двойной кавычки и заканчивать одинарной.
kemiller2002
Я знаю это. Просто не знал, что одиночные и двойные файлы обрабатываются одинаково в JS. Должен быть застрял в PHP.
Джаред Фарриш,
Переход между языками всегда
затруднен
Полезно знать, спасибо. Узнавайте что-то новое каждый день. :) Безобидная ошибка, наверное.
Джаред Фарриш
2

На странице html:

document.write("<br>"); 

но если вы находитесь в файле JavaScript, это будет работать как новая строка:

document.write("\n");
Сухани Мендапара
источник
1

Для строки я просто пишу, "\n"чтобы дать мне новую строку. Например, при вводе console.log("First Name: Rex" + "\n" + "Last Name: Blythe");Will введите:

Имя: Рекс

Фамилия: Блайт

Тито Э Сурек
источник
1

вы также можете пирамиду из звезд

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

     }
     console.log(py);
 }
Шадаб Али
источник
0

\ n -> символ новой строки не работает для вставки новой строки.

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

Но если мы используем приведенный ниже код, он отлично работает и дает новую строку.

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

Примечание: я пробовал в Visual Studio Code .

VicXj
источник
Это предполагает, что текст будет отображаться как HTML. Не беспокойтесь, если это действительно общий ответ.
GhostCat
0

ваше решение

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

\ n не работает. Используйте HTML-теги

document.write("<br>");
document.write("?");
Парадокс Нафи
источник
-1

Если вы используете файл JavaScript (.js), используйте document.write("\n");. Если вы находитесь в файле html (.html или. Htm), используйте document.write("<br/>");.

Кодирующая панда
источник
-1
document.write("\n");

не будет работать, если вы выполните его ( document.write();) несколько раз.

Я предлагаю вам пойти на:

document.write("<br>");

PS Я знаю, что люди указали этот ответ выше, но нигде не нашли разницы :)


источник
-1

Попробуйте написать свой код между предварительным тегом HTML.

Макарио Поло
источник
пожалуйста, добавьте и код. было бы лучше понять
Шашин Бхайани
-1

Вы можете использовать ссылку ниже: Новая строка в 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
Ваша ссылка не работает, и ваш пример кода ничего не говорит, чего еще не сказано в принятом ответе 2011 года.
Квентин
Что ж, ссылка исправлена, но она указывает на демонстрацию без объяснения, и вы все еще ничего не говорите, что уже было сказано в 2011 году.
Квентин