×

คำเตือน

JUser: :_load: Unable to load user with ID: 6465

ให้เรตสมาชิก: 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
ฮิต
8097
ผู้สร้างเอกสาร
วันที่สร้างเอกสาร
2016-06-03 13:33:34

javascript13.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 629 bytes

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

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


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ผู้รู้ ขอความอนุเคราะห์แก้ code ให้หน่อย
โดย goobot_com จ 23 เม.ย. 2018 10:22 pm บอร์ด Programming - PHP
0
10
จ 23 เม.ย. 2018 10:22 pm โดย goobot_com
แก้ code ให้หน่อย while(list($key, $value) = each ไม่ทำงาน เปลี่ยนเป็น foreach($_POST[id2] as $key =>$value)แล้วไม่ได้
โดย goobot_com จ 23 เม.ย. 2018 10:20 pm บอร์ด Programming - PHP
0
8
จ 23 เม.ย. 2018 10:20 pm โดย goobot_com
while(list($key, $value) = each ไม่ทำงาน เปลี่ยนเป็น foreach($_POST[id2] as $key => $value)
โดย Anonymous จ 23 เม.ย. 2018 10:14 pm บอร์ด Programming - PHP
0
6
จ 23 เม.ย. 2018 10:14 pm โดย บุคคลทั่วไป
จะทำให้เว็บฟอรั่มออนไลน์ได้ไหมครับ?
โดย Anonymous จ 23 เม.ย. 2018 1:52 pm บอร์ด Programming - PHP
0
12
จ 23 เม.ย. 2018 1:52 pm โดย บุคคลทั่วไป
รูปแบบการทำงานของ NAT มีอะไรบ้าง
โดย Patcharanan.0399 ศ 20 เม.ย. 2018 5:14 pm บอร์ด Share Knowledge
0
46
ศ 20 เม.ย. 2018 5:14 pm โดย Patcharanan.0399
ส่วนที่ไม่เข้าใจในบทความ Module MD Client History
โดย alisa93 ศ 20 เม.ย. 2018 4:56 pm บอร์ด Mobile Programming - Android, iOS, Window Phone
2
28
ศ 20 เม.ย. 2018 5:56 pm โดย alisa93
Loopback คืออะไร
โดย Patcharanan.0399 ศ 20 เม.ย. 2018 4:21 pm บอร์ด Share Knowledge
0
31
ศ 20 เม.ย. 2018 4:21 pm โดย Patcharanan.0399
สอบถามเรื่อง SQL การ SELECT id
โดย AePongsak ศ 20 เม.ย. 2018 4:21 pm บอร์ด SQL - Database
5
73
ศ 20 เม.ย. 2018 5:05 pm โดย AePongsak
Q - ติดตั้งโมดูลแล้วไฟล์ภาษาหาย
โดย Parichat ศ 20 เม.ย. 2018 3:52 pm บอร์ด Joomla Development
2
29
ศ 20 เม.ย. 2018 4:20 pm โดย Parichat
Q - ทำ Drop Down ในหน้าผู้ดูแลระบบของโมดูล
โดย Parichat ศ 20 เม.ย. 2018 1:22 pm บอร์ด Joomla Development
13
78
จ 23 เม.ย. 2018 3:57 pm โดย tsukasaz
ผมสงใสทำไมรีโมทแอร์ ทำไมถึงต้องอยุ่ข้างประตู
โดย nuattawoot ศ 20 เม.ย. 2018 12:58 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
2
61
ศ 20 เม.ย. 2018 9:47 am โดย tsukasaz
Normal Form ของ Normalization มีอะไรบ้าง
โดย Patcharanan.0399 พฤ 19 เม.ย. 2018 6:37 pm บอร์ด Share Knowledge
0
23
พฤ 19 เม.ย. 2018 6:37 pm โดย Patcharanan.0399
Q - import ฐานข้อมูลมาแต่ Error
โดย Parichat พฤ 19 เม.ย. 2018 5:55 pm บอร์ด SQL - Database
2
41
พฤ 19 เม.ย. 2018 6:43 pm โดย Parichat
ทำไมต้องมี IPv6 ....?
โดย Patcharanan.0399 พฤ 19 เม.ย. 2018 3:04 pm บอร์ด Share Knowledge
0
34
พฤ 19 เม.ย. 2018 3:04 pm โดย Patcharanan.0399
ต้องการใส่เสียงลงใน application
โดย Oley Rujisak พฤ 19 เม.ย. 2018 1:12 pm บอร์ด Mobile Application Developing- Android, iOS
0
24
พฤ 19 เม.ย. 2018 1:12 pm โดย Oley Rujisak
มาแล้ว Joomla 3.8.7 อัพเดทล่าสุด แก้ไข Bug ต่างๆ และปรับปรุงระบบให้ดีขึ้น
โดย tsukasaz พฤ 19 เม.ย. 2018 11:09 am บอร์ด PHP News
0
34
พฤ 19 เม.ย. 2018 11:09 am โดย tsukasaz
3-way Handshake (ทรีเวย์ แฮนเชค)คืออะไร
โดย Patcharanan.0399 พ 18 เม.ย. 2018 6:04 pm บอร์ด Share Knowledge
0
34
พ 18 เม.ย. 2018 6:04 pm โดย Patcharanan.0399
TCP (ทีซีพี) และ UDP (ยูดีพี) แตกต่างกันอย่างไร
โดย Patcharanan.0399 พ 18 เม.ย. 2018 5:46 pm บอร์ด Share Knowledge
1
51
พฤ 19 เม.ย. 2018 3:50 am โดย mindphp
ICMP Protocol (ไอซีเอ็มพี โปรโตคอล) คืออะไร
โดย Patcharanan.0399 พ 18 เม.ย. 2018 5:24 pm บอร์ด Share Knowledge
0
29
พ 18 เม.ย. 2018 5:24 pm โดย Patcharanan.0399
ไม่สามารถติดตั้ง selenium v.2.9.1 ได้
โดย Patcharanan.0399 พ 18 เม.ย. 2018 4:35 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
7
62
พฤ 19 เม.ย. 2018 3:45 am โดย mindphp