如何在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(?);

}

我正在打印星空金字塔,无法打印新行。


5
document.write(“ <br>”); //如果使用.html
jasonleonhard 2014年

相关主题在这里
RBT

Answers:


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>非常感谢
Jeya Suriya Muthumari

31

怎么样:

document.write ("<br>");

(假设您位于html页面中,因为仅换行符只会显示为空格)


9

使用<br>标签在文档中创建换行符

document.write("<br>");

这是一个样本小提琴


1
+1,因为这似乎是OP 真正想要的:)(br vs \ n)
Demian Brecht

你怎么知道的?指出BR很高兴,但PRE也可以很容易地进入那里。如果他们正在构建ASCII艺术,我认为这是纯文本。
贾里德·法瑞什

@Jared:您如何调用document.write纯文本文档?(例如,如何放置script标签?)关于的要点pre很容易成为pre一部分。
TJ Crowder

@TJ-显示为纯文本,如ASCII艺术一样。尽管它仍然是HTML文档,但只是将其显示为纯文本显示。
贾里德·法瑞什

@Jared:是的,我明白了。(我以为您的其他观点与text/plain文档有关,但是我认为这pre是一个很好的观点。)
TJ Crowder

4

用途"\n"

document.write("\n");

注意,必须将其括在双引号中才能将其解释为换行符。不,不是。


1
在HTML页面中输出换行符不会在HTML文档中引入换行符。(并且不必使用双引号,也可以使用单引号。)
TJ Crowder

@TJ-除非涉及PRE?
贾里德·法瑞什

哦,除了您要评论有关pre元素的另一个答案之外。好点子。如果将ASCII艺术作品输出到某个pre部分,则\n可能是正确的事情……(编辑:大声笑,重叠的注释。)
TJ Crowder

@TJ Crowder-这是我的意思的示例(经过认真
Jared

@Jared:哦,您的评论pre非常清楚。(逢标签为您提供:jsfiddle.net/wT3Ab/1)最佳,
TJ克罗德

3

document.writeln()是您要查找的内容,还是document.write('\n' + 'words')要在使用新行时查找更多粒度的内容



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';

JavaScript中的转义字符


不一定要用双引号吗?
贾里德·法瑞什

5
JavaScript中没有双引号和单引号。您只是不能以双引号开头和以单引号结尾。
kemiller2002

好吧,我知道。只是不知道单打和双打在JS中的处理方式相同。必须卡在PHP中。
贾里德·法瑞什

在语言之间移动总是很痛苦:)
kemiller2002

很高兴知道,谢谢。每天学些新东西。:)可能是无害的错误。
贾里德·法瑞什


1

对于字符串,我只是写给"\n"我换行。例如,键入console.log("First Name: Rex" + "\n" + "Last Name: Blythe");将键入:

名:雷克斯

姓氏:Blythe


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中尝试过。


假设文本将显示为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>");

附言:我知道人们已经在上面说了这个答案,但是没有发现任何区别,所以:)



-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
。– Quentin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.