คำแถลงการตัดสินตามเงื่อนไข
1. ถ้าคำสั่ง
ถ้า (เงื่อนไข) คำสั่ง 1 คำสั่งอื่น 2
เงื่อนไขเงื่อนไขอาจเป็นนิพจน์ใด ๆ และผลการประเมินของนิพจน์นี้ไม่จำเป็นต้องเป็นค่าบูลีน Ecmascript จะเรียกใช้ฟังก์ชันการแปลงบูลีน () โดยอัตโนมัติเพื่อแปลงผลลัพธ์ของนิพจน์นี้เป็นค่าบูลีน หากผลลัพธ์ของการประเมินเงื่อนไขเป็นจริงแถลงการณ์จะถูกดำเนินการและหากผลลัพธ์ของการประเมินเงื่อนไขเป็นเท็จแถลงการณ์จะถูกดำเนินการ ข้อความทั้งสองนี้สามารถเป็นบรรทัดของรหัสหรือบล็อกของรหัส (แนะนำ)
ถ้า (เงื่อนไข 1) คำสั่ง 1 อื่นถ้า (เงื่อนไข 2) คำสั่ง 2 คำสั่งอื่น 3
2. คำสั่งสวิตช์
สวิตช์ (นิพจน์) {ค่ากรณี: คำสั่ง break; มูลค่ากรณี: คำสั่ง break; มูลค่ากรณี: คำสั่ง break; ค่าเริ่มต้น: คำสั่ง}ความหมายของแต่ละกรณีในคำสั่งสวิตช์คือ: "ถ้านิพจน์เท่ากับค่านี้คำสั่งต่อไปนี้จะถูกดำเนินการ" และการหยุดพักจะทำให้รหัสดำเนินการและข้ามออกจากคำสั่งสวิตช์ หากคีย์เวิร์ด Break ถูกละเว้นจะทำให้กรณีถัดไปจะดำเนินการต่อไปหลังจากดำเนินการกรณีปัจจุบัน คำหลักเริ่มต้นสุดท้ายใช้เพื่อดำเนินการรหัสการซ้อมรบ (และดังนั้นจึงเทียบเท่ากับคำสั่งอื่น) เมื่อนิพจน์ไม่ตรงกับสถานการณ์ก่อนหน้านี้
ตัวอย่างที่ 1
var num = 25; switch (true) {case num <0: การแจ้งเตือน ("น้อยกว่า 0"); หยุดพัก; case num> = 0 && num <= 10: การแจ้งเตือน ("ระหว่าง 0 ถึง 10"); หยุดพัก; กรณีจำนวน> 10 && num <= 20: การแจ้งเตือน ("ระหว่าง 10 ถึง 20"); หยุดพัก; ค่าเริ่มต้น: การแจ้งเตือน ("มากกว่า 20");}หมายเหตุ: คำสั่งสวิตช์ใช้ตัวดำเนินการที่สอดคล้องกันเมื่อเปรียบเทียบค่าดังนั้นจึงไม่มีการแปลงประเภท
คำสั่งวน
หลังจากทดสอบคำสั่งลูป
รหัสในร่างกายลูปจะดำเนินการอย่างน้อยหนึ่งครั้งก่อนที่จะประเมินนิพจน์
1. ทำคำสั่งในขณะนี้
ทำ {คำสั่ง} ในขณะที่ (นิพจน์);ตัวอย่างที่ 2
var i = 0; ทำ {i += 2; } ในขณะที่ (i <10); การแจ้งเตือน (i); // 10คำสั่งลูปทดสอบล่วงหน้า
2. ในขณะที่แถลงการณ์
ในขณะที่คำสั่ง (นิพจน์)
ตัวอย่างที่ 3
var i = 0; ในขณะที่ (i <10) {i += 2; } Alert (i); // 103. สำหรับคำสั่ง
มันมีความสามารถในการเริ่มต้นตัวแปรก่อนที่จะดำเนินการลูปและกำหนดรหัสที่จะดำเนินการหลังจากดำเนินการลูป
ตัวอย่างที่ 4
สำหรับ (var i = 0; i <10; i ++) {แจ้งเตือน (i);}ข้อความซ้ำ ๆ
คำสั่งสำหรับ
คำสั่ง For-In เป็นคำสั่งวนซ้ำที่ถูกต้องซึ่งสามารถใช้ในการแจกแจงคุณสมบัติของวัตถุ
สำหรับ (var prop ในหน้าต่าง) {console.log (prop); -คุณสมบัติของวัตถุ ecmascript ไม่มีคำสั่ง ดังนั้นแอตทริบิวต์ชื่อเอาต์พุตผ่านการวนรอบสำหรับการลูปจึงไม่สามารถคาดเดาได้ โดยเฉพาะคุณลักษณะทั้งหมดจะถูกส่งคืนหนึ่งครั้งและคำสั่งของการทำลาย SLR อาจแตกต่างกันไปขึ้นอยู่กับเบราว์เซอร์ ขอแนะนำให้ตรวจสอบและยืนยันว่าค่าของวัตถุนั้นไม่ได้เป็นโมฆะหรือไม่ได้รับการปรับปรุงก่อนการใช้งาน
คำสั่งควบคุมการดำเนินการ
คำสั่งทำลาย
ออกจากลูปทันที
ตัวอย่างที่ 5
var num = 0; สำหรับ (var i = 1; i <10; i ++) {ถ้า (i % 5 == 0) {break; } num ++; } Alert (num); // 4ดำเนินการต่อ
ออกจากรหัสลูปที่ดำเนินการในปัจจุบันและเริ่มดำเนินการต่อลูป
var num = 0; สำหรับ (var i = 1; i <10; i ++) {ถ้า (i % 5 == 0) {ดำเนินการต่อ; } num ++; } Alert (num); // 8คำสั่งคืน
สามารถระบุค่าคืนได้หรือไม่ (ส่งคืนไม่ได้กำหนดในเวลานี้)
1. หยุดและออกจากฟังก์ชั่นทันทีหลังจากคำสั่ง Return และคำสั่งหลังจากการส่งคืนจะไม่ถูกดำเนินการ
2. คำสั่ง Return สามารถปรากฏขึ้นในร่างกายฟังก์ชั่นเท่านั้น หากไม่เป็นเช่นนั้นจะรายงานข้อผิดพลาดทางไวยากรณ์โดยอัตโนมัติ