ฉันจะสร้างบรรทัดใหม่ใน 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 ( "ฟรี"); // ถ้าใช้. 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>คือ linebreak ที่ถูกต้องสำหรับหน้า HTML <br />คือ XHTML
TJ Crowder

1
<br> ขอบคุณมาก
ค่ะ

31

เกี่ยวกับ:

document.write ("<br>");

(สมมติว่าคุณอยู่ในหน้า html เนื่องจากฟีดบรรทัดเพียงอย่างเดียวจะแสดงเป็นช่องว่างเท่านั้น)


10

ใช้<br>แท็กเพื่อสร้างเส้นแบ่งในเอกสาร

document.write("<br>");

นี่คือตัวอย่างซอ


1
+1 เช่นนี้น่าจะเป็นสิ่งที่ OP จะจริงๆมองหา :) (br VS \ n)
Demian เบรชต์

คุณรู้ได้อย่างไร? ดีที่จะชี้ให้เห็น BR แต่ PRE ก็สามารถอยู่ในนั้นได้อย่างง่ายดายเช่นกัน ถ้าพวกเขากำลังสร้างงานศิลปะ ASCII ฉันคิดว่ามันเป็นข้อความธรรมดา
Jared Farrish

@ จาเร็ด: คุณเรียกdocument.writeในเอกสารข้อความธรรมดาได้อย่างไร? (เช่นคุณใส่scriptแท็กอย่างไร) จุดดีเกี่ยวกับpreแม้ว่าอาจเป็นpreส่วนได้อย่างง่ายดาย
TJ Crowder

@TJ - การแสดงผลเป็นข้อความธรรมดาเช่นเดียวกับในศิลปะ ASCII ยังคงเป็นเอกสาร HTML แม้ว่าจะเป็นเพียงการแสดงผลแบบข้อความธรรมดา
Jared Farrish

@ จาเร็ด: ใช่ฉันเอาประเด็นของคุณ (ฉันคิดว่าส่วนอื่นของคุณเป็นเรื่องเกี่ยวกับtext/plainเอกสาร แต่ฉันคิดว่าฉันชัดเจนเกี่ยวกับpreการเป็นจุดที่ดี)
TJ Crowder

4

ใช้"\n":

document.write("\n");

โปรดทราบว่าจะต้องล้อมรอบด้วยเครื่องหมายคำพูดคู่เพื่อให้ตีความเป็นขึ้นบรรทัดใหม่ ไม่มันไม่


1
การแสดงบรรทัดใหม่ในหน้า HTML จะไม่ทำให้เกิดบรรทัดใหม่ในเอกสาร HTML (และไม่จำเป็นต้องเป็นอัญประกาศคู่คำพูดเดี่ยวก็ใช้ได้เช่นกัน)
TJ Crowder

@TJ - ถ้าไม่มี PRE เกี่ยวข้อง?
Jared Farrish

โอยกเว้นประเด็นของคุณที่แสดงความคิดเห็นในคำตอบอื่นเกี่ยวกับpreองค์ประกอบ จุดดี. หากส่งออก ASCII art ไปยังpreส่วนหนึ่ง\nอาจเป็นสิ่งที่ถูกต้อง ... (แก้ไข: ฮ่า ๆ ความคิดเห็นที่ทับซ้อนกัน)
TJ Crowder

@TJ Crowder - นี่คือตัวอย่างของสิ่งที่ฉันหมายถึง (พัฒนาอย่างโหดเหี้ยม
Jared Farrish

@ จาเร็ด: โอ้ความคิดเห็นของคุณpreชัดเจนมาก (ปิดแท็กคุณ: jsfiddle.net/wT3Ab/1 ) ดีที่สุด,
TJ Crowder

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

อักขระ Escape ใน JavaScript


ไม่จำเป็นต้องอยู่ในเครื่องหมายคำพูดคู่?
Jared Farrish

5
ไม่มีเครื่องหมายคำพูดคู่และเดี่ยวเหมือนกันใน JavaScript คุณไม่สามารถเริ่มต้นด้วยอัญประกาศคู่และลงท้ายด้วยอัญประกาศเดี่ยว
kemiller2002

ฉันรู้ดี ไม่รู้ว่าเดี่ยวและคู่ได้รับการปฏิบัติเหมือนกันใน JS ต้องติดอยู่ใน PHP
Jared Farrish

การย้ายระหว่างภาษาเป็นเรื่องที่เจ็บปวดเสมอ :)
kemiller2002

สิ่งที่ควรทราบขอบคุณ เรียนรู้สิ่งใหม่ ๆ ทุกวัน :) อาจเป็นข้อผิดพลาดที่ไม่เป็นอันตราย
Jared Farrish


1

สำหรับสตริงฉันเพิ่งเขียน"\n"เพื่อให้ขึ้นบรรทัดใหม่ ตัวอย่างเช่นการพิมพ์console.log("First Name: Rex" + "\n" + "Last Name: Blythe");จะพิมพ์:

ชื่อจริง: Rex

นามสกุล: 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




-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 ยังไม่ได้กล่าว
Quentin

ลิงก์ได้รับการแก้ไขแล้ว แต่ชี้ไปที่การสาธิตที่ไม่มีคำอธิบายและคุณยังไม่ได้พูดอะไรเลยในปี 2011
Quentin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.