1. คำสั่งสาขาที่มีเงื่อนไข : ถ้า
รูปแบบพื้นฐาน:
ถ้า (<นิพจน์ 1>) {
<กลุ่มประโยค 1>
} อื่นถ้า (<นิพจน์ 2>) {
<กลุ่มประโยค 2>
}อื่น{
<กลุ่มประโยค 3>
-
กระบวนการดำเนินการ:
2. คำสั่งวงกลม
2.1 คำสั่งลูปทดสอบล่วงหน้า: ประเมินเงื่อนไขการออกก่อนที่จะดำเนินการรหัสในร่างกายลูป
2.1.1 ในขณะที่คำสั่ง
รูปแบบพื้นฐาน:
ทำ {
<กลุ่มประโยค>
} ในขณะที่ (<sempress>)
กระบวนการดำเนินการ:
2.1.2 สำหรับคำสั่ง
รูปแบบพื้นฐาน:
สำหรับ (<เริ่มต้นนิพจน์>; <นิพจน์เงื่อนไข>; <นิพจน์ตัวแปร>) {
<กลุ่มประโยค>
-
กระบวนการดำเนินการ:
2.2 คำสั่งลูปทดสอบ: เงื่อนไขการออกจะถูกทดสอบเฉพาะหลังจากที่รหัสในการวนซ้ำจะถูกดำเนินการ
2.2.1. คำสั่งทำในขณะที่
รูปแบบพื้นฐาน:
ทำ {
<กลุ่มประโยค>
} ในขณะที่ (<sempress>);
กระบวนการดำเนินการ:
3. คำสั่งวนซ้ำที่ถูกต้อง : สำหรับ
รูปแบบพื้นฐาน:
สำหรับ (คุณสมบัติในวัตถุ) {
<กลุ่มประโยค>
-
ฟังก์ชั่น: ทำซ้ำคุณสมบัติทั้งหมดของวัตถุที่ระบุซึ่งสามารถใช้เพื่อระบุคุณสมบัติของวัตถุ
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
<html>
<body>
<p> คลิกปุ่มด้านล่างเพื่อวนผ่านคุณสมบัติของวัตถุ "บุคคล" </p>
<ปุ่ม onclick = "myfunction ()"> คลิกที่นี่ </button>
<p id = "สาธิต"> </p>
<script>
ฟังก์ชั่น myfunction ()
-
var x;
var txt = "";
var person = {fname: "บิล", lname: "ประตู", อายุ: 56};
สำหรับ (x ด้วยตนเอง)
-
txt = txt + บุคคล [x];
-
document.getElementById ("สาธิต"). innerhtml = txt;
-
</script>
</body>
</html>
หากวัตถุที่จะแสดงนั้นเป็นโมฆะหรือไม่ได้กำหนดตัววนลูปจะไม่ถูกดำเนินการอีกต่อไปหรือจะมีการโยนข้อผิดพลาดอีกต่อไป ดังนั้นเมื่อดำเนินการลูป for-in คุณควรตรวจสอบก่อนว่าค่าคุณสมบัติของวัตถุที่เปลี่ยนแปลงนั้นเป็นโมฆะหรือไม่ได้กำหนด
4. คำสั่ง lable
ไวยากรณ์พื้นฐาน:
ฉลาก: <กลุ่มประโยค>
ตัวอย่างเช่น: เริ่มต้น: สำหรับ (var i = 0; i <10; i ++) {
การแจ้งเตือน (i);
-
ยกตัวอย่างเพื่อแสดงฟังก์ชั่นของคำสั่ง lable:
ถอดปลั๊ก:
การคัดลอกรหัสมีดังนี้:
var num = 0;
สำหรับ (var i = 0; i <10; i ++) {
สำหรับ (var j = 0; j <10; j ++) {
if (i == 5 && j == 5) {
หยุดพัก;
-
num ++;
-
-
การแจ้งเตือน (NUM); // 95
เข้าร่วม Lable:
การคัดลอกรหัสมีดังนี้:
var num = 0;
Outpoint:
สำหรับ (var i = 0; i <10; i ++) {
สำหรับ (var j = 0; j <10; j ++) {
if (i == 5 && j == 5) {
จุดแบ่ง
-
num ++;
-
-
การแจ้งเตือน (NUM); // 55
ตัวอย่างแรกเอาท์พุท 95 ไม่ยากที่จะเข้าใจ ทำไมเอาท์พุท 55 ในตัวอย่างที่สองเป็นเพราะเมื่อดำเนินการจุดหยุดพักมันจะกระโดดออกไปที่เลเยอร์ Putpoint และดำเนินการคำสั่งการแจ้งเตือน
หากคุณเปลี่ยนตัวอย่างที่สองเป็นต่อไปนี้:
การคัดลอกรหัสมีดังนี้:
var num = 0;
สำหรับ (var i = 0; i <10; i ++) {
Outpoint:
สำหรับ (var j = 0; j <10; j ++) {
if (i == 5 && j == 5) {
จุดแบ่ง
-
num ++;
-
-
การแจ้งเตือน (NUM); // 95
ผลลัพธ์นี้สอดคล้องกับผลลัพธ์ของตัวอย่างแรก
5. แบ่งและดำเนินการต่อ
5.1break คำสั่ง:
การคัดลอกรหัสมีดังนี้:
var num = 0;
สำหรับ (var i = 1; i <10; i ++) {
ถ้า (i%5 == 0) {
หยุดพัก;
-
num ++;
-
การแจ้งเตือน (num); // 4
หลังจากดำเนินการคำสั่ง Break แล้วให้ข้ามไปที่คำสั่งการแจ้งเตือน
5.2 คำสั่งดำเนินการต่อ:
การคัดลอกรหัสมีดังนี้:
var num = 0;
สำหรับ (var i = 1; i <10; i ++) {
ถ้า (i%5 == 0) {
ดำเนินการต่อ;
-
num ++;
-
การแจ้งเตือน (num); // 8
หลังจากดำเนินการคำสั่งต่อไปให้ข้ามไปที่ () ลูปและดำเนินการต่อเพื่อดำเนินการลูปจนกว่าเงื่อนไขลูปจะไม่เป็นความจริง
6. พร้อมคำสั่ง
ไวยากรณ์พื้นฐาน:
ด้วย (วัตถุ) {
งบ
-
ยกตัวอย่าง:
การเขียนโดยไม่ต้องใช้:
การคัดลอกรหัสมีดังนี้:
var qs = location.search.substring (1);
var hostname = location.hostname;
var url = location.href;
การแจ้งเตือน (QS);
การแจ้งเตือน (ชื่อโฮสต์);
การแจ้งเตือน (URL);
ใช้กับวิธีการเขียน:
การคัดลอกรหัสมีดังนี้:
ด้วย (ตำแหน่ง) {
var qs = search.substring (1);
VAR HOSTNAME = HOSTNAME;
var url = href;
-
การแจ้งเตือน (QS);
การแจ้งเตือน (ชื่อโฮสต์);
การแจ้งเตือน (URL);
จากตัวอย่างข้างต้นเราจะเห็นว่าจุดประสงค์ของคำสั่งด้วยคือการตั้งค่าขอบเขตของรหัสเป็นวัตถุเฉพาะและลดการป้อนข้อมูลซ้ำ
อย่างไรก็ตามล่าม JS จำเป็นต้องตรวจสอบว่าตัวแปรในบล็อกที่มีอยู่เป็นของวัตถุที่มีอยู่ในบล็อกที่มีซึ่งจะลดความเร็วในการดำเนินการของคำสั่งด้วยและทำให้เป็นเรื่องยากสำหรับคำสั่ง JS ที่จะปรับให้เหมาะสม
ดังนั้นจึงไม่แนะนำให้ใช้กับคำสั่งในขนาดใหญ่
คำสั่ง Sweth
ไวยากรณ์พื้นฐาน:
สวิตช์ (<sempress Expression>) {
กรณี <ค่า 1>: <กลุ่มคำสั่ง 1>
หยุดพัก;
กรณี <ค่า 2>: <กลุ่มคำสั่ง 2>
หยุดพัก;
-
ค่าเริ่มต้น <กลุ่มคำสั่ง>
-
กระบวนการดำเนินการ:
คำสั่งสวิตช์อาจเป็นประเภทข้อมูลใด ๆ และค่าของแต่ละกรณีอาจไม่คงที่ แต่อาจเป็นตัวแปรนิพจน์ ฯลฯ ตัวอย่างเช่น:
การคัดลอกรหัสมีดังนี้:
Switch ("Hello World") {
กรณี "สวัสดี" + "โลก":
การแจ้งเตือน ("พบคำทักทาย");
หยุดพัก;
กรณี "ลาก่อน":
การแจ้งเตือน ("พบการปิด");
หยุดพัก;
ค่าเริ่มต้น:
การแจ้งเตือน ("พบข้อความที่ไม่คาดคิด");
-
การคัดลอกรหัสมีดังนี้:
var num = 25;
สลับ (จริง) {
กรณีจำนวน <0:
การแจ้งเตือน ("น้อยกว่า 0");
หยุดพัก;
case num> = 0 && num <= 10:
การแจ้งเตือน ("ระหว่าง 0 ถึง 10");
หยุดพัก;
กรณีจำนวน> 10 && num <= 20:
การแจ้งเตือน ("ระหว่าง 10 ถึง 20");
หยุดพัก;
ค่าเริ่มต้น:
การแจ้งเตือน ("มากกว่า 20");
-
คำสั่งสวิตช์ใช้การเปรียบเทียบตัวดำเนินการที่สอดคล้องกันเมื่อเปรียบเทียบดังนั้นจึงไม่มีการแปลงประเภท
ฝึกฝน:
การคัดลอกรหัสมีดังนี้:
<script type = "text/javascript">
จำนวน var = 10;
สำหรับ (var i = 0; i <count; i ++) {
การแจ้งเตือน (i);
-
การแจ้งเตือน (i); // เอาต์พุตอะไร?
</script>
สำหรับ(;;){
การแจ้งเตือน ("2"); // 2 เอาต์พุต 2 ครั้ง?
-
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้และฉันหวังว่ามันจะเป็นประโยชน์กับเพื่อนของฉัน