ให้เรตสมาชิก: 3 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

บทที่ 13 JavaScript Switch Statement


   Switch Statement คือเงื่อนไขแบบหนึ่งที่ใช้ในการเขียนโปรแกรม นิยมใช้ในกรณีที่เรามีเงื่อนไขที่ต้องตรวจสอบอยู่หลายเงื่อนไข ซึ่งมีลักษณะคล้ายกับ if...else  แต่ต่างกันที่ เงื่อนไขแบบ Switch นี้จะใช้การตรวจสอบเพียงครั้งเดียวแล้วไล่ดูว่าเข้ากับ case ไหน ก็จะทำตามคำสั่งใน case นั้นไป แต่ถ้าไม่ตรงกับ case ใดๆเลย ก็จะทำตามคำสั่งใน default  ส่วนเงื่อนไขแบบ IF...else นั้นจะมีการตรวจสอบไปที่ล่ะตัวเลือก ซึ่งหากมีหลายตัวเลือกก็จะต้องทำการเช็คหลายครั้ง ทำให้ไม่สะดวก


switch(สิ่งที่ต้องการตรวจสอบ)
{
case 1:
  คำสั่งที่  1
  break;
case 2:
  คำสั่งที่  2
  break;
default:
  กรณีที่ไม่ตรงกับคำสั่งใดๆเลย
}
 

 

จากรูปแบบของคำสั่งโปรแกรมจะตรวจสอบจากตัวแปรที่คำสั่ง Switch (ตัวแปรในวงเล็บ)ว่ามีค่าเป็นเท่าไรแล้วนำมาตรวจสอบกับคำสั่ง case ถ้าตรงกับค่าของ case ใดก็จะทำงานตาม คำสั่งใน case นั้น เมื่อทำงานเสร็จ จะพบคำสั่ง break มีผลทำให้ออกไปจากคำสั่ง switch ทันที ในกรณีที่ไม่มีค่าใดตรงกับ case ที่ระบุโปรแกรม จะมาทำงานที่คำสั่ง default โดยอัตโนมัติ
ตัวอย่างเช่น


switch(อาหารกลางวันที่ชอบ)
{
case 1:
  คำสั่งที่  พิชซ่า
  break;
case 2:
  คำสั่งที่  เกี๊ยวกุ้ง
  break;
default:
  ไม่ชอบเลยสักอย่าง อยากกินอย่างอื่น
}

code ตัวอย่าง

 
<body>
<p id="demo"></p>

<script>
var i=200;
switch (i) {
    case 100:
        score = "100";
        break;
    case 200:
        score = "200";
        break;
    case 300:
        score = "300";
        break;
    default:
        score="ไม่ตรงกับค่าไหนเลย";
}
document.getElementById("demo").innerHTML = "คะแนนของคุณ" + score+"แต้ม";
</script>
</body>

ผลลัพธ์


*** หมายเหตุ
  การใช้คำสั่ง break เป็นการสั่งให้โปรแกรมออกคำสั่ง switch หากเจอเงื่อนไขที่่ต้องการแล้ว มิฉะนั้นโปรแกรมจะยังตรวจสอบเงื่อนไขไปเรื่อยๆ เเม้ว่าจะพบเงื่่อนไขที่ต้องการเเล้วก็ตาม ส่วน defalt นั้นเราจะมีหรือไม่มีก็ได้ ขึ้นอยู่ที่เงื่อนไขที่เรามีนั้นครอบคลุมทุกค่าแล้วหรือไม่ เพราะค่า defalt นั้นจะถูกนำมาใช้ในกรณีทีไม่ตรงกับเงื่อนไขใดๆเลย

ข้อมูลอ้างอิง
http://www.buksohn.com
http://www.w3schools.com

ชื่อ
javascript13
หมวดหมู่
Javascript, Javascript
ฮิต
5343
ผู้สร้างเอกสาร
opassaesin
วันที่สร้างเอกสาร
2016-06-03 13:33:34

javascript13.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 629 bytes

ผู้อัพโหลดไฟล์ opassaesin

วันที่อัพโหลด 2016-06-03 06:32:45


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Work's on Hand ปาริชาติ รัตโณภาส MT21
โดย Parichat จ 08 ม.ค. 2018 12:11 pm บอร์ด MT21 - ปาริชาติ รัตโณภาส
2
43
พ 17 ม.ค. 2018 10:51 am โดย Parichat
งานประจำวันที่ 17 มกราคม 2561
โดย Parichat พ 17 ม.ค. 2018 9:47 am บอร์ด MT21 - ปาริชาติ รัตโณภาส
2
15
พ 17 ม.ค. 2018 10:51 am โดย AePongsak
ไอเดียในการออกแบบ iphone8
โดย Before Dong พ 17 ม.ค. 2018 10:29 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
8
พ 17 ม.ค. 2018 10:29 am โดย Before Dong
งานประจำวันที่ 17 มกราคม 2561
โดย Jom07 พ 17 ม.ค. 2018 9:57 am บอร์ด MT23 - สุพรรษา พูลตา
1
8
พ 17 ม.ค. 2018 10:44 am โดย Jom07
งานประจำวันที่ 17 มกราคม 2561
โดย Four พ 17 ม.ค. 2018 9:56 am บอร์ด MT22 - อิษยา งามสอาด
1
6
พ 17 ม.ค. 2018 10:36 am โดย AePongsak
เจอปัญหานี้บ่อย สำหรับ app ที่อยู่บน pgsql เยอะๆ psql: FATAL: too many connections for role "user_name".
โดย mindphp พ 17 ม.ค. 2018 4:50 am บอร์ด PostgreSQL
1
7
พ 17 ม.ค. 2018 4:51 am โดย mindphp
Thin Client คืออะไร
โดย Jom07 อ 16 ม.ค. 2018 2:38 pm บอร์ด Software testing
0
14
อ 16 ม.ค. 2018 2:38 pm โดย Jom07
วิธีนอน 8 ชั่วโมง ใน 4 ชั่วโมง
โดย Before Dong อ 16 ม.ค. 2018 10:21 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
37
อ 16 ม.ค. 2018 10:21 am โดย Before Dong
งานประจำวันที่ 16 มกราคม 2561
โดย Four อ 16 ม.ค. 2018 9:46 am บอร์ด MT22 - อิษยา งามสอาด
2
38
อ 16 ม.ค. 2018 3:39 pm โดย Four
งานประจำวันที่ 16 มกราคม 2561
โดย Jom07 อ 16 ม.ค. 2018 9:44 am บอร์ด MT23 - สุพรรษา พูลตา
2
33
อ 16 ม.ค. 2018 2:21 pm โดย Jom07
งานประจำวันที่ 16 มกราคม 2561
โดย Parichat อ 16 ม.ค. 2018 9:40 am บอร์ด MT21 - ปาริชาติ รัตโณภาส
2
19
อ 16 ม.ค. 2018 7:12 pm โดย Parichat
เบอร์โทร ศูนย์บริการ ASUS ศูนย์บริการลูกค้าสัมพันธ์ (Call Center) ถามอะไหล่ ค่าบริการงานซ่อมได้
โดย mindphp อ 16 ม.ค. 2018 6:53 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
14
อ 16 ม.ค. 2018 6:53 am โดย mindphp
ตามหา พัดลมโน๊ตบุ๊ค ASUS รุ่น Pro36S ของ dc brushless
โดย mindphp อ 16 ม.ค. 2018 6:29 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
7
อ 16 ม.ค. 2018 6:29 am โดย mindphp
จะโหลด Android Studio กับ javaJDK ได้ที่ไหนค่ะ
โดย Anonymous จ 15 ม.ค. 2018 8:29 pm บอร์ด Mobile Programming - Android, iOS, Window Phone
1
22
จ 15 ม.ค. 2018 9:25 pm โดย thatsawan
การใช้งานคำสั่ง inner join ใน SQL(เอสคิวเเอล)
โดย Parichat จ 15 ม.ค. 2018 5:50 pm บอร์ด SQL Knowledge
0
18
จ 15 ม.ค. 2018 5:50 pm โดย Parichat
ประเภทของ Firewall (ไฟร์วอลล์)
โดย Jom07 จ 15 ม.ค. 2018 5:42 pm บอร์ด Software testing
0
18
จ 15 ม.ค. 2018 5:42 pm โดย Jom07
เทคนิคการโอนย้ายข้อมูล 2 คอมพิวเตอร์
โดย Jom07 จ 15 ม.ค. 2018 5:41 pm บอร์ด Software testing
0
19
จ 15 ม.ค. 2018 5:41 pm โดย Jom07
Android Studio ไม่อนุญาตให้กรอกข้อมูลใน EditText
โดย Four จ 15 ม.ค. 2018 4:53 pm บอร์ด Mobile Application Developing- Android, iOS
0
12
จ 15 ม.ค. 2018 4:53 pm โดย Four
Android Studio การกำหนดขนาดข้อความใน TextView
โดย Four จ 15 ม.ค. 2018 2:50 pm บอร์ด Mobile Application Developing- Android, iOS
0
13
จ 15 ม.ค. 2018 2:50 pm โดย Four
สวิตซ์ (Switch) คืออะไร
โดย Jom07 จ 15 ม.ค. 2018 1:35 pm บอร์ด IOT - Internet of things
0
22
จ 15 ม.ค. 2018 1:35 pm โดย Jom07