มีผลกระทบโดยตรงต่อผลลัพธ์ของลำดับการดำเนินการของแต่ละโค้ด หลายครั้งที่เราต้องควบคุมลำดับการดำเนินการของโค้ดเพื่อให้บรรลุฟังก์ชันที่เราต้องการทำให้
สมบูรณ์ : การควบคุมการไหลคือการควบคุมเรา โค้ดที่เขียนควรถูกดำเนินการตามลำดับใดเพื่อให้บรรลุวัตถุประสงค์ของเรา
โครงสร้างหลักในการควบคุมกระบวนการมีสามโครงสร้าง: โครงสร้างตามลำดับ โครงสร้างสาขา และโครงสร้างลูป โครงสร้างทั้งสามนี้แสดงถึงลำดับของการเรียกใช้โค้ด
เป็นโครงสร้างที่ง่ายที่สุดและเป็นพื้นฐานที่สุดในโปรแกรม ลำดับของโค้ด ในลำดับ
ในกระบวนการรันโค้ดจากบนลงล่าง โค้ดพาธที่แตกต่างกันจะถูกดำเนินการตามเงื่อนไขที่แตกต่างกัน (กระบวนการของการเลือกหนึ่งในโค้ดดำเนินการหลายรายการ) จึงได้รับ ผลลัพธ์ที่แตกต่างกัน
1.21
ภาษา
มีโครงสร้าง
//ภาษาโค้ดสำหรับการดำเนินการเมื่อมีการสร้างเงื่อนไข == ดำเนินการเฉพาะเมื่อนิพจน์เงื่อนไขเป็นจริง
}
คำสั่งสามารถเข้าใจได้ว่าเป็นพฤติกรรม คำสั่ง Loop และคำสั่งสาขาเป็นคำสั่งทั่วไปภายใต้สถานการณ์ปกติ โดยจะแบ่งเป็น Statement
code สาธิต
ทีละอันvar age=19; ถ้า(อายุ>=18){ console.log('คุณเป็นผู้ใหญ่แล้ว'); //ผลลัพธ์ที่คุณเป็นผู้ใหญ่แล้ว เนื่องจากอายุ=19; ถ้ามากกว่า 18 คำสั่งใน if จะถูกดำเนินการ } อายุต่างกัน=1; ถ้า(อายุ>=18){ console.log('คุณเป็นผู้ใหญ่แล้ว'); //ไม่มีอะไรส่งออก age=1;<18 คำสั่งใน if จะไม่ถูกดำเนินการ ดังนั้นจึงไม่มี }
กระบวนการดำเนินการ
โครงสร้างไวยากรณ์
// หากมีการกำหนดเงื่อนไข ให้รันโค้ดใน if หรือรันโค้ดใน else
if (นิพจน์แบบมีเงื่อนไข) {
//โค้ดที่จะดำเนินการตามเงื่อนไข
}else{
//รหัสที่ไม่ตรงตามเงื่อนไขในการดำเนินการ
}
กระบวนการดำเนินการ
รหัสสาธิต
var age=prompt('Please enter your age');//User input if(age>=18){ console.log('คุณสามารถดื่มได้แล้ว'); }อื่น{ console.log('ขออภัย ผู้เยาว์สามารถดื่มแคลเซียม AD ได้เท่านั้น'); - //ตัดสินว่าปีนั้นเป็นปีดำเนินการ var year=prompt('Please enter the year:'); ถ้า(ปี%4==0&&ปี%100!=0||ปี%400==0){ alert('ปีที่คุณกรอกเป็นปีอธิกสุรทิน'); }อื่น{ alert('ปีที่กรอกเป็นปีปกติ'); } }
โครงสร้างไวยากรณ์
// เหมาะสำหรับการตรวจสอบหลายเงื่อนไข
if (นิพจน์แบบมีเงื่อนไข) {
คำสั่ง 1;
}else if(นิพจน์แบบมีเงื่อนไข){
คำสั่ง 2;
}else if(นิพจน์แบบมีเงื่อนไข){
ข้อความที่ 3;
…
}else{
// รันโค้ดนี้หากไม่ตรงตามเงื่อนไขข้างต้น
}
การควบคุมกระบวนการ
การสาธิตรหัส
// เครื่องคิดเลขขนาดเล็ก: ป้อนตัวเลขสองตัวและสัญลักษณ์การทำงานเพื่อให้ได้ค่าที่สอดคล้องกัน var yi = +prompt('Please enter the first number'); //กรุณาใช้การบวก ลบ คูณหาร เพื่อแปลงเป็นตัวเลขโดยปริยาย หรือใช้ praseInt (ตัวแปร) หรือจำนวนเต็ม parsefloat (ตัวแปร) และตัวเลขทศนิยม var fuhao = prompt( 'กรุณาระบุโอเปอเรเตอร์'); var er = +prompt('กรุณากรอกหมายเลขที่สอง'); ถ้า (fuhao == '+') { var shu = ยี่ + เอ้อ; } อื่นถ้า (fuhao == '-') { var shu = ยี่ - เอ้อ; } อื่นถ้า (fuhao == '/') { var shu = ยี่ / เอ้อ; } อื่นถ้า (fuhao == '*') { var shu = yi * เอ้อ; } อื่นถ้า (fuhao == '%') { var shu = ยี่ % เอ้อ; } อื่น { alert('กรุณากรอกตามต้องการ:'); - alert(shu)
คำสั่ง switch ยังเป็นคำสั่งหลายสาขา มันถูกใช้เพื่อรันโค้ดที่แตกต่างกันตามเงื่อนไขที่แตกต่างกัน เมื่อคุณต้องการตั้งค่าชุดของค่าเฉพาะสำหรับตัวแปร ให้ switch switch
( การแสดงออก) {
case value1:
// รหัสที่จะดำเนินการเมื่อนิพจน์เท่ากับ value1
ตัวแบ่ง
case value2:
// รหัสที่จะดำเนินการเมื่อนิพจน์เท่ากับ
ตัวแบ่ง value2;
default:
// รหัสที่จะดำเนินการเมื่อนิพจน์ ไม่เท่ากับค่าใดๆ
}
การควบคุมกระบวนการ
รหัสสาธิต
var Fruit =prompt('กรุณาระบุผลไม้ที่คุณต้องการซื้อ:'); สวิตช์ (ผลไม้) { กรณี 'แอปเปิ้ล': alert('ราคาแอปเปิ้ลคือ: 3.5/catty'); หยุดพัก; กรณี 'ลิ้นจี่': alert('ลิ้นจี่ราคา: 10.5/จิน'); หยุดพัก; ค่าเริ่มต้น: alert('ไม่มีผลไม้'); }
โปรดทราบ
ความแตกต่างระหว่างคำสั่ง switch และคำสั่ง if อื่น ๆ
โดย
ทั่วไปแล้วคำสั่งทั้งสองสามารถแปลงเป็นคำสั่งอื่นได้
สถานการณ์ที่กรณีเป็นการเปรียบเทียบเพื่อกำหนดค่า ในขณะที่คำสั่ง if...else... มีความยืดหยุ่นมากกว่า มักใช้สำหรับการตัดสินช่วง (มากกว่า เท่ากับช่วงที่กำหนด)
คำสั่ง switch ดำเนินการตัดสินแบบมีเงื่อนไขและ รันคำสั่งแบบมีเงื่อนไขของโปรแกรมโดยตรง ซึ่งมีประสิทธิภาพมากกว่า อย่างไรก็ตาม คำสั่ง if...else... มีหลายเงื่อนไขและต้องถูกตัดสินหลายครั้ง
เมื่อมีสาขาน้อยลง ประสิทธิภาพในการดำเนินการของคำสั่ง if...else... จะสูงกว่าของคำสั่ง switch
เมื่อมีหลายสาขา ประสิทธิภาพในการดำเนินการของคำสั่ง switch จะสูงขึ้น และโครงสร้างจะชัดเจนยิ่งขึ้น
คือ
ในปัญหาในทางปฏิบัติ มีการดำเนินการซ้ำๆ มากมาย ดังนั้นในการดำเนินการดังกล่าวในโปรแกรม คุณจะต้องดำเนินการคำสั่งบางอย่างซ้ำๆ
Js คำสั่ง loop:
ในโปรแกรม กลุ่มของคำสั่งที่ถูกดำเนินการซ้ำ ๆ เรียกว่า loop body ว่าจะสามารถดำเนินการซ้ำ ๆ ได้หรือไม่นั้นขึ้นอยู่กับเงื่อนไขของ การสิ้นสุดแบบวนซ้ำ
คำสั่งที่ประกอบด้วยเนื้อความของลูปและเงื่อนไขการสิ้นสุดแบบวนซ้ำเรียกว่าคำสั่ง
แบบวนซ้ำโครงสร้างไวยากรณ์
ของ for loop ส่วนใหญ่จะใช้ในการทำซ้ำโค้ดบางอย่างหลายครั้ง ซึ่งมักจะเกี่ยวข้องกับการนับ โครงสร้างคำสั่งดังต่อไปนี้
สำหรับ (ตัวแปรการเริ่มต้น; การแสดงออกตามเงื่อนไข; การแสดงออกการดำเนินงาน) {
//Loop body
}
การควบคุมกระบวนการ
การสาธิตโค้ด
สำหรับ (var i=1;i<=10;i++){ console.log('คุณชอบฉันไหม?'); }//คำนวณคะแนนรวมของชั้นเรียนและคะแนนเฉลี่ย var num = prompt('กรุณาระบุจำนวนคนในชั้นเรียนทั้งหมด') ผลรวมวาร์ = 0, ค่าเฉลี่ย = 0; สำหรับ (var i = 1; i <= num; i++) { var Score = prompt('กรุณากรอกคะแนนของ ' + i + ' Student') //ข้อมูลที่นำมาจาก prompt เป็นสตริงและจำเป็นต้องแปลงเป็นผลรวมตัวเลข += parseInt(score); - ค่าเฉลี่ย = ผลรวม / ตัวเลข; alert('คะแนนรวมของชั้นเรียน:' + ผลรวม); alert('คะแนนเฉลี่ยของคลาส:' + sum);//พิมพ์หัวใจ 5 ดวงในหนึ่งบรรทัดสำหรับ (var i=0;i<=4;i++){ console.log('*'); }
Double-layer for loop (การซ้อนลูป)
การซ้อนลูปหมายถึงโครงสร้างทางไวยากรณ์ของการกำหนดคำสั่ง loop ภายในคำสั่ง loop ตัวอย่างเช่น การซ้อน for loop ภายใน for loop เราเรียกคำสั่ง for loop ดังกล่าวว่า Double-layer for ลูป
เราเรียกลูปด้านในว่าลูปด้านใน และลูปด้านนอกเรียกว่า
ลูปด้านนอก หนึ่งครั้ง และลูปด้านในจะถูกดำเนินการตั้งแต่ต้นจนจบ
การสาธิตโค้ด
// ระดับต่ำ: 5 แถวและ 5 คอลัมน์ var str =''; สำหรับ (var i=0;i<=4;i++){ สำหรับ (var j=0;j<=4;j++){ str+='*'; - str+='n'; - console.log(str); //ขั้นสูง: n แถวและ n คอลัมน์ var rows = prompt('กรุณาระบุจำนวนแถว:'); var cols = prompt('กรุณาระบุจำนวนคอลัมน์'); var str=''; สำหรับ (var i = 1; i <= แถว; i++) { สำหรับ (var j = 1; j <= cols; j++) { str+='*'; - str+='n'; - console.log(str); //พิมพ์สามเหลี่ยมกลับหัว var str=''; สำหรับ (var i=1;i<=10;i++){ สำหรับ (var j=i;j<=10;j++){ str+='*'; - str+='n'; - console.log(str); /* 1 ********** 10 2 *********9 3 ********8 4 *******7 5******6 6******5 7****4 8***3 9**2 10 *1 *///Core Algorithm: var j=i;j<=10;j++//Idea: ขั้นแรกให้วิเคราะห์ผลลัพธ์และสังเกตความสัมพันธ์ระหว่างแถวและคอลัมน์ จากนั้นกำหนดอัลกอริทึมของวงใน // พิมพ์สามเหลี่ยมด้านเท่าซึ่งเป็นแนวคิดเดียวกับข้างต้น var str=''; สำหรับ (var i=1;i<=9;i++){ สำหรับ (var j=1;j<=i;j++){ str+='*'; - str+='n'; - console.log(str);//หากต้องการพิมพ์ตารางสูตรคูณ ให้แทนที่เครื่องหมายดอกจันของสามเหลี่ยมด้านเท่าด้วยสมการ var str = ''; สำหรับ (var i = 1; i <= 9; i++) { สำหรับ (var j = 1; j <= i; j++) { /* str+='*'; */ str += i + '*' + i + '=' + i * j + ' t'; - STR += 'n'; - console.log(str);//ข้อควรจำ: ลูปด้านนอกหนึ่งครั้ง และลูปด้านในจะถูกดำเนินการตั้งแต่ต้นจนจบ มันเพียงพิมพ์สาระสำคัญ
กราฟิก
while
สามารถรันโค้ดที่ระบุในลูปภายใต้สมมติฐานที่ว่านิพจน์เงื่อนไขเป็นจริงจนกว่านิพจน์จะ ไม่ตรงตามเงื่อนไข การวนซ้ำจะสิ้นสุดลง
โครงสร้างไวยากรณ์ของคำสั่ง while
(นิพจน์แบบมีเงื่อนไข) {
// คำสั่งเนื้อความของลูป
}
แนวคิดในการดำเนินการ:
ขั้นแรกให้รันนิพจน์แบบมีเงื่อนไข หากเงื่อนไขเป็นจริง จากนั้นให้รันโค้ดเนื้อความของลูป มิฉะนั้น ให้ออกจากลูปและรันโค้ดต่อไปนี้
เพื่อรัน
โค้ดของเนื้อความของลูป โค้ดถูกดำเนินการ โปรแกรมจะตัดสินและดำเนินการนิพจน์เงื่อนไขต่อไป หากเงื่อนไขยังคงเป็นจริง ให้ดำเนินการกับเนื้อหาลูปทั้งหมดจะไม่สิ้นสุดจนกว่าเงื่อนไขของลูปจะเป็น
เท็จ ดังต่อไปนี้
การสาธิตโค้ด
var num=1; //เตรียมใช้งานตัวแปร while(num<=10){//Conditional expression console.log('Hello world'); num++;//Operation expression }
หมายเหตุ:
นอกจากนี้ยังมี expression การดำเนินการในขณะที่ทำการอัปเดตตัวนับให้เสร็จสิ้นและป้องกันการวนซ้ำไม่สิ้นสุด (ฉันไม่ได้เพิ่มนิพจน์การดำเนินการ แต่เมื่อฉันรันโค้ด อินเทอร์เฟซของ Google Chrome ก็ถูก สีดำ)
นอกจากนี้ ควรมี
ตัวแปรที่เริ่มต้นตัวนับ นิพจน์เงื่อนไข และนิพจน์การดำเนินการในขณะที่อยู่ในลูปสำหรับ .
การสาธิตรหัส
//พิมพ์ชีวิตของบุคคลตั้งแต่อายุ 1 ปีถึง 120 ปี var age = 1; ในขณะที่ (อายุ <= 120) { console.log('คนนี้คือปีนี้' + อายุ + 'ปี'); อายุ++; - //2. คำนวณผลรวมของจำนวนเต็มทั้งหมดระหว่าง 1 ถึง 100 var sum = 0, ฉัน = 1; ในขณะที่ (ฉัน <= 100) { ผลรวม += ฉัน; ฉัน++; - console.log(ผลรวม); //3. เปิดกล่องโต้ตอบ คุณรักฉันไหม หากคุณป้อน ฉันรักคุณ มันจะถามตอนจบ ไม่อย่างนั้นมันจะถามต่อว่า var message='Do you love me'; ในขณะที่(ข้อความ!=='ฉันรักคุณ'){ message=prompt('คุณรักฉันไหม?'); - alert('I love you too');
do... While loop
do... While แท้จริงแล้วเป็นรูปแบบหนึ่งของคำสั่ง while เป็นจริง ตัวลูปจะถูกดำเนินการซ้ำๆ มิฉะนั้นจะออกจากลูป
do... โครงสร้างไวยากรณ์ของคำสั่ง while มีดังนี้
do {
// โค้ดเนื้อหาลูป - ทำซ้ำโค้ดเนื้อหาลูปเมื่อนิพจน์เงื่อนไขเป็นจริง
}
แนวคิดในการดำเนินการ:
ดำเนินการโค้ดเนื้อหาลูปหนึ่งครั้ง
จากนั้นดำเนินการนิพจน์เงื่อนไขหากผลลัพธ์เป็นจริง ให้ดำเนินการโค้ดเนื้อหาลูปต่อไป หากเป็นเช่นนั้น เป็นเท็จ จากนั้นออกจากลูปและดำเนินการโค้ดต่อไปนี้ต่อไป
หมายเหตุ: รันคำสั่งเนื้อหาของลูปก่อน จากนั้นจึงตัดสินว่าคำสั่ง do... While จะดำเนินการกับเนื้อหาลูปอย่างน้อยหนึ่งครั้ง
การควบคุมกระบวนการ
การสาธิตรหัส
//พิมพ์ชีวิตของบุคคล อายุตั้งแต่ 1 ถึง 120 ปี อายุ = 1; ทำ { console.log('คนนี้คือปีนี้' + อายุ + 'ปี'); อายุ++; } ในขณะที่ (อายุ <= 120); //2. คำนวณผลรวมของจำนวนเต็มทั้งหมดระหว่าง 1 ถึง 100 var sum = 0, ฉัน = 1; ทำ { ผลรวม += ฉัน; ฉัน++; } ในขณะที่ (i <= 100) console.log(ผลรวม); //3. เปิดกล่องโต้ตอบ คุณรักฉันไหม หากคุณป้อน ฉันรักคุณ มันจะถามตอนจบ ไม่อย่างนั้นมันจะถามต่อว่า 'คุณรักฉัน'; ทำ { message = prompt('คุณรักฉันไหม?'); } ในขณะที่ (ข้อความ !== 'ฉันรักเธอ'); alert('I love you too');
สรุป
Continue คือ คำนี้ใช้เพื่อกระโดดออกจาก Loop นี้ทันทีและดำเนินการต่อ ลูปถัดไป (โค้ดหลังจากดำเนินการต่อในเนื้อความของลูปนี้จะถูกดำเนินการหนึ่งครั้ง)
ตัวอย่างเช่น: หากคุณกินซาลาเปา 5 ชิ้นและมีแมลงอยู่ในซาลาเปาชิ้นที่สาม ให้ทิ้งซาลาเปาชิ้นที่สามแล้วกินซาลาเปาชิ้นที่สี่และห้าต่อไป
สำหรับ
(var i = 1; i <= 5; i++) { ถ้า (i == 3) { ดำเนินการต่อ; - console.log('ฉันกิน' + i + 'th bun'); - ผลลัพธ์: //ฉันกินขนมปังก้อนที่ 1 //ฉันกินขนมปังก้อนที่ 2 //ฉันกินขนมปังก้อนที่ 4 //ฉันกินขนมปังก้อนที่ 5
แบ่งคีย์เวิร์ด
คีย์เวิร์ดแบ่งใช้เพื่อกระโดดออกจากวงทั้งหมดทันที (สิ้นสุดวงจร)
ตัวอย่างเช่น หลังจากกินซาลาเปาไปห้าชิ้น ฉันพบหนอนตัวที่สามและเบื่ออาหาร
ตัวอย่างโค้ด
สำหรับ (var i = 1; i <= 5; i++) { ถ้า (i == 3) { หยุดพัก; - console.log('ฉันกิน' + i + 'th bun'); - ผลลัพธ์ // ฉันกินซาลาเปาก้อนที่ 1 // ฉันกินซาลาเปาก้อนที่ 2
ชื่อ
ฟังก์ชันจะต้องมีความหมาย โดยทั่วไปชื่อของตัวแปรจะเป็นคำนาม ชื่อของฟังก์ชัน โดยทั่วไปจะเป็นความคิดเห็นบรรทัดเดียว
สำหรับ (var i = 1; i <= 5; i++) { ถ้า (i == 3) { Continue; //โปรดทราบว่ามีการเว้นวรรคก่อนความคิดเห็นบรรทัดเดียว } console.log('ฉันกิน' + i + 'th bun'); }
ข้อมูลจำเพาะของตัวดำเนินการ
// สงวนช่องว่างทางด้านซ้ายและด้านขวาของตัวดำเนินการสำหรับ (var i = 1; i <= 5; i++) { ถ้า (i == 3) { หยุดพัก; - console.log('ฉันกิน' + i + 'th bun'); -