/ / JavaScript loops: for, while, do-while

ลูป JavaScript: สำหรับ, while, do-while

ประวัติความเป็นมาของการก่อตัวของไวยากรณ์สมัยใหม่ของภาษาโปรแกรมนั้นคล้ายกับความรู้เกี่ยวกับกระบวนการก่อตัวของจักรวาล เริ่มต้นอย่างไรและอย่างไร ... แต่ตอนนี้ทุกอย่างเรียบง่ายและเข้าถึงได้

ลูป JavaScript

ในที่สุดอัลกอริทึมจะอยู่เสมอชุดคำสั่งตามลำดับ Parallelism ในการเขียนโปรแกรมคือชุดของลำดับที่รวมเข้าด้วยกัน อัลกอริธึมการวนซ้ำไม่เคยมีประโยชน์มากไปกว่าคำสั่งแบบอนุกรมหรือแบบขนาน ป้ายกำกับการเปลี่ยนและเงื่อนไขเพียงพอสำหรับการแก้ปัญหาใด ๆ ภาษาที่ใช้งานได้ขาดความคิดที่มีความสำคัญเหล่านี้ แต่ความจำเป็นในการทำซ้ำส่วนของโค้ดยังคงอยู่

เบราว์เซอร์: DOM ภาษา + เซิร์ฟเวอร์

ใน JavaScript การวนซ้ำยังคงอยู่แม้ว่าจะใช้งานได้ความคิดมีความหมายพิเศษ อาจมีของเหลือจาก Lisp และ Prolog แต่ส่วนใหญ่แล้วพื้นที่ที่ JavaScript อาศัยอยู่นำไปสู่สิ่งที่เป็นอยู่ แต่เป็นที่น่าสงสัยว่านี่เป็นวิธีแก้ปัญหาสุดท้าย

ในขณะที่ JavaScript

JavaScript ทำงานภายในเบราว์เซอร์ซึ่งรับหน้าแยกวิเคราะห์ลงใน DOM และเรียกใช้สคริปต์แรก หน้าอื่น ๆ ทั้งหมดรวมถึงที่โหลดไว้ในหน้านี้เป็นผลงานของนักพัฒนาที่จัดการกับภาษาที่สามารถเรียกรหัสบนเซิร์ฟเวอร์และผลลัพธ์ที่ได้รับโดยใช้กลไก AJAX

เบราว์เซอร์รันโค้ด JavaScript ที่สามารถใช้ออบเจ็กต์ของเบราว์เซอร์รวมถึงวัตถุที่ให้การถ่ายโอนข้อมูลไปยังเซิร์ฟเวอร์และรับการตอบสนองซึ่งอาจเป็นได้ทั้งมาร์กอัป HTML และสไตล์และโค้ดจริง คำตอบสามารถแสดงได้ด้วยอาร์เรย์และวัตถุ ความหมายของการใช้ลูปใน JavaScript หายไปมีโอกาสมากมายที่จะทำโดยไม่มีพวกเขาและการเสี่ยงต่อการแขวนเบราว์เซอร์ด้วยลำดับคำสั่งที่ไม่มีที่สิ้นสุดไม่ใช่ทางออกที่ดีที่สุด

ลูปมีอยู่ในโครงสร้างไวยากรณ์ JavaScript ส่วนใหญ่ผู้พัฒนาสามารถเสริมโครงสร้างมาตรฐานด้วยฟังก์ชันของตัวเอง

การวางตำแหน่ง JavaScript ในพื้นที่โค้ด

โปรแกรมเมอร์ยุคใหม่ไม่ได้คิดอย่างนั้นลูปที่เขาใช้ (สำหรับในขณะที่ทำในขณะที่ ...

ทำในขณะที่

ดังนั้นจึงไม่มีการวนซ้ำในระดับภาษาเครื่อง:มีการรวมกันของคำสั่งธรรมดาการดำเนินการตามเงื่อนไขและการกระโดด ขึ้นหนึ่งระดับไม่ว่าจะใช้เครื่องมือใดในการพัฒนาเบราว์เซอร์และตัวแปล JavaScript การวนซ้ำจะไม่คลุมเครือ ยิ่งไปกว่านั้น "ชิ้นส่วนของโค้ด" จะถูกนำเสนอในช่วงเวลาที่แตกต่างกันและโดยโปรแกรมเมอร์รุ่นต่างๆ ชั้นหนึ่งด้านบนคือ "อาคาร" ของ JavaScript ไวยากรณ์ที่นำเสนอลูป JavaScript ที่ทันสมัย

JS เป็นภาษาที่ยอดเยี่ยม:ใช้งานได้จริงทันสมัยและใช้งานได้เต็มที่ ไวยากรณ์ของเครื่องมือนี้รวมถึงโครงสร้างทั้งหมดที่ผ่านการทดสอบของเวลาและได้กลายเป็นรากฐานที่ไม่สั่นคลอนของอัลกอริทึมใด ๆ แต่ลูปจำเป็นจริงหรือ? ความก้าวหน้าในการเขียนโปรแกรมมักถามตัวเองด้วยคำถามพื้นฐาน แต่มีเพียงไม่กี่กรณีเท่านั้นที่พบวิธีแก้ปัญหา

เหตุผลวัตถุประสงค์

วงจรสามารถมีได้เพียงสองตัวเลือก:ตามเงื่อนไขหรือตามตัวนับ แต่โดยพื้นฐานแล้ว (ที่ระดับต่ำสุด) การวนซ้ำใด ๆ เป็นเงื่อนไขเท่านั้น ในบางภาษาจะมีวงจร "สำหรับแต่ละ" ใน JavaScript foreach ลูปแสดงโดย prop ในการสร้างอ็อบเจ็กต์ แต่คุณสามารถใช้ตัวแปร array.forEach (... )

JavaScript สำหรับลูป

ไม่ว่าในกรณีใดมีสองทางเลือก:รหัสเครื่องที่เรียกใช้อัลกอริทึมทั้งหมดของโปรแกรมเมอร์ในที่สุดแม้แต่ผู้ที่เขียนด้วยภาษาแปลความหมายก็ไม่มีตัวเลือกอื่นในการทำซ้ำห่วงโซ่คำสั่ง: สามารถดำเนินการบางอย่างได้อีกครั้งจนกว่า:

  • เคาน์เตอร์นับ;
  • ตราบเท่าที่เป็นไปตามเงื่อนไข

JavaScript เป็นล่ามทั่วไปความไม่ชอบมาพากล: มันทำงานภายในเบราว์เซอร์ใช้วัตถุและอนุญาตให้เรียกใช้อัลกอริทึมในฝั่งไคลเอ็นต์ทั้งเมื่อโหลดเพจลงในเบราว์เซอร์และระหว่างการดำเนินการ

JavaScript foreach ลูป

ห่วงง่ายๆสำหรับแต่ละคน

ใน JavaScript foreach ลูปมีลักษณะเหมือนการใช้ฟังก์ชันกับอาร์เรย์:

ตัวอย่างของการวนซ้ำ "สำหรับแต่ละรายการ"

การใช้ลูปดังกล่าวตรงไปตรงมา อย่างเป็นทางการไม่มีวงจรเช่นนี้ มีการเรียกใช้ตามลำดับของฟังก์ชันไปยังองค์ประกอบของอาร์เรย์

รอบเคาน์เตอร์

สำหรับลูปดูคุ้นเคยมากขึ้นใน JavaScript:

ตัวอย่างสำหรับ (i ... )

ที่นี่ตัวนับเป็นตัวแปรค่าซึ่งเปลี่ยนแปลงไปตามสูตรและจุดสิ้นสุดของรอบจะถูกระบุโดยเงื่อนไข สูตรและเงื่อนไขไม่จำเป็นต้องรวมตัวแปรลูป แต่การควบคุมการสิ้นสุดของวงจรจะถูกกำหนดโดยเนื้อหาของพวกเขาอย่างสมบูรณ์

ลูปแบบมีเงื่อนไข

ตัวเลือก while JavaScript แนะนำในขึ้นอยู่กับว่าคุณต้องการตรวจสอบเงื่อนไขเมื่อใด หากร่างกายของวงจรไม่สามารถดำเนินการได้แม้แต่ครั้งเดียวนี่เป็นสิ่งหนึ่งหากร่างกายต้องถูกดำเนินการอย่างน้อยหนึ่งครั้งสิ่งนี้จะแตกต่างออกไป:

ในขณะที่ลูป

ในกรณีแรกการตีความ while การก่อสร้างJavaScript จะตรวจสอบเงื่อนไขก่อนและถ้าเป็นจริงจะวนซ้ำ ในกรณีที่สองวงจรจะดำเนินการก่อน หากเป็นผลมาจากการเปลี่ยนแปลงตัวแปรที่ระบุในเงื่อนไขการก่อสร้าง ทำในขณะที่มันจะเป็นเท็จและลูปจะหยุดทำงาน

การรวมอัลกอริทึมที่เรียบง่ายจำนวนมาก

งานหลัก (ส่วนที่เป็นส่วนประกอบ) ของใด ๆอัลกอริทึม - เพื่อค้นหาจากนั้นจึงตัดสินใจว่าจะทำอย่างไรต่อไป ตัวเลือกการค้นหาดั้งเดิมที่สุดคือการเข้าถึงตัวแปรผลลัพธ์จะได้รับโดยตรง หากมีตัวแปรจำนวนมากหรือมีหลายค่า (อาร์เรย์) จากนั้นในการเลือกค่าคุณต้องหาสิ่งที่จะกำหนดพฤติกรรมเพิ่มเติมของสคริปต์

ตัวอย่างการวนซ้ำของ JavaScript

หลักคำสอนง่ายๆเช่นนี้เกิดขึ้น ลูปที่มีตัวนับใน JavaScript เป็นยาครอบจักรวาลสำหรับทุกงาน คอมพิวเตอร์สมัยใหม่มีความรวดเร็ว มีเวลามากมายในการเรียกใช้สคริปต์ในเบราว์เซอร์โดยไม่ต้องรีบร้อน ง่ายกว่าที่เคยในการแยกแยะบางสิ่งบางอย่างเพื่อประโยชน์ของบางสิ่ง เป็นผลให้เมื่อ JavaScript สำหรับลูปได้รับความนิยมอย่างมาก

ดูเหมือนจะไม่มีอะไรผิดปกติ แต่เบื้องหลังแนวทางดังกล่าวสาระสำคัญของการเขียนอัลกอริทึมนี้หรือนั้นหายไปอย่างง่ายดาย ข้อมูลจะไม่มีจุดหมาย ทุกสิ่งที่โปรแกรมใด ๆ เขียนขึ้นเพื่อความสมเหตุสมผล ดื่มเจมากเกินไปavaScript สำหรับลูปผู้พัฒนาอาจไม่เห็นเอนทิตีที่ต้องการและไม่ได้สร้างอัลกอริทึมที่เพียงพอ

วนซ้ำใน JavaScript

ฟังก์ชันการทำงานการแสดงความเป็นจริงที่แตกต่างกัน

โดยการสมัคร ตัวอย่างการวนซ้ำของ JavaScript รหัสประเภทเดียวกันสามารถแสดงโดยฟังก์ชัน - อัลกอริทึมจะเปลี่ยนรูปทันทีเนื้อหาหลักของสคริปต์จะลดขนาดลงทุกอย่างจะอ่านได้และเข้าใจได้

นี่ไม่ใช่วิธีการแก้ปัญหาใหม่ แต่โดยพื้นฐานแล้วมันไม่ได้ไปไกลกว่าโครงสร้างภาษาอื่น โดยเฉพาะจavaScript ลูปสามารถพบได้ในฟังก์ชัน Split () แบบคลาสสิก:

หลากหลาย cResult = "9,8,7,6,5,4";
หลากหลาย ผลลัพธ์ = cResult.แยก(",");

ไม่มีการวนซ้ำที่นี่ แต่ฟังก์ชันนี้จะดำเนินการอย่างไรหากไม่ได้ค้นหาอักขระ "," และใช้เพื่อแยกหมายเลขหนึ่งออกจากอีกหมายเลขหนึ่ง

นามธรรมจากวิธีการดำเนินการภายในแยก () ฟังก์ชัน JavaScript สามารถเสริมด้วยฟังก์ชันการทำงานของตัวเองที่ใช้ลูปจากมุมมองของการใช้งาน - สะดวกยิ่งขึ้น จำเป็นอย่างยิ่งที่แนวทางนี้จะนำไปสู่การพัฒนาฟังก์ชันการทำงานสำหรับแต่ละงานตามลำดับ แต่โดยทั่วไปจะยังคงใช้แนวทางนี้

ฟังก์ชันในขณะที่เป็นที่นิยม

ฟังก์ชันเหล่านี้ allt (), padc (), padl () และ padr () คือซึ่งไม่ได้อยู่ใน JavaScript แต่บางครั้งคุณต้องลบช่องว่างออกจากสตริงหรือจัดแนวความยาวของสตริงไปทางซ้ายขวาหรือทั้งสองด้าน เนื้อความของฟังก์ชันเหล่านี้ประกอบด้วยลูป JavaScript เรียบง่ายราคาไม่แพงและจะไม่หยุดการใช้อัลกอริทึม

เป็นที่นิยม do while ตามฟังก์ชั่น

ตัวเลือกสำหรับการแปลงตัวเลขจากเลขฐานสิบหกถึงระบบเลข 10 และในทางกลับกันมันง่ายกว่าที่จะพูดว่าจากรูปแบบข้อมูลหนึ่งไปยังอีกรูปแบบหนึ่งจะดำเนินการที่นี่โดยใช้ do ในขณะที่ลูป ไวยากรณ์ภาษาที่กะทัดรัดและมีประสิทธิภาพมาก

ตัวอย่าง javascript ลูป

รอบที่ถูกต้อง - แสดงความเป็นจริง

JavaScript ไม่ตรงกับภาษาโปรแกรมอื่น ๆ และไม่มีความแตกต่างกันในเวอร์ชันต่างๆและที่สำคัญที่สุดคือไม่พยายามเปลี่ยนไวยากรณ์ แต่เป็นการพัฒนาและขยาย

ความคิดของโปรแกรมเมอร์ JS นั้นแตกต่างกัน จากความคิดของโปรแกรมเมอร์ PHP (โดยเฉพาะภาษาอื่น ๆ โดยรวมยกเว้นว่า "Prolog" และผู้ติดตามจะไม่รวมอยู่ในช่องทางทั่วไป) เมื่ออัลกอริทึมไม่ จำกัด เฉพาะตัวแปรอาร์เรย์ตัวดำเนินการกำหนดโครงสร้างแบบวนซ้ำ

หากเราจินตนาการว่าไม่มีวงจรใด ๆ และปัญหาได้รับการแก้ไขแล้วมีความจำเป็นดังนั้นตัวเลือกที่ง่ายที่สุด (ปิดตา) คือสมมติว่าโปรแกรมประมวลผลข้อมูลที่เป็นจุดหรือระบบของจุดในพื้นที่ข้อมูล จุดคืออะไรและระบบคะแนนคืออะไรเป็นเรื่องของสาขาวิชาเฉพาะ สำหรับโปรแกรมเมอร์วิทยานิพนธ์นี้หมายถึง: มีข้อมูลที่เรียบง่ายและมีการรวบรวมข้อมูลอย่างง่าย โดยปกติแล้วข้อมูลพื้นฐานของระดับหนึ่งสำหรับระดับด้านล่างจะเป็นระบบและสำหรับระดับที่สูงกว่านั้นจะเป็นจุด

ด้วยวิธีการนี้ประเด็นสำคัญคือการแสดงสาระสำคัญของคุณผ่านวิธีการของคุณ เมื่อจุดอยู่ในระบบซูเปอร์ซิสเต็มหน้าที่ของระบบคือการแสดงสาระสำคัญเป็นชุดของเอนทิตีของจุดที่รวมอยู่ในนั้น

แนวทางนี้เก่าพอ ๆ กับความคิดของภาษาการเขียนโปรแกรม แต่ยังไม่พบการสะท้อนที่เพียงพอในการเขียนโปรแกรม โปรแกรมเมอร์หลายคนคิดอย่างถูกต้อง แต่ผลของความคิดสร้างสรรค์ของพวกเขากลับเป็นที่ต้องการมาก

การสวมผ้าปิดตาเพื่อดูโลกจะเป็นประโยชน์!

ชอบ:
0
บทความยอดนิยม
การพัฒนาทางจิตวิญญาณ
อาหาร
Y