در این پست ما در مورد دستور سوئیچ (Switch Statement) در جاوا اسکریپت بحث خواهیم کرد. با پیشرفت تکنولوژی، رایانههایی توسعه یافتهاند که به نوبه خود نیاز به زبان برنامه نویسی را به همراه داشته است. بسیاری از زبانهای برنامه نویسی وجود دارد که شامل زبان سطح پایین و همچنین زبان سطح بالا هستند. استفاده از زبانهای سطح بالا آسان تر است زیرا در مقایسه با زبانهای سطح پایین درک آنها آسان است. جاوا اسکریپت یک زبان سطح بالا است که به طور گسترده به عنوان زبان اصلی برای اهداف برنامه نویسی مورد استفاده قرار میگیرد. مباحث زیادی وجود دارد که فرد برای درک مفاهیم اساسی نیاز به مطالعه و تمرین دارد.
دستور سوئیچ چی هست؟
قبل از اینکه به تعریف آن بپردازیم بهتر است تا اول با مفهوم شرط در برنامه نویسی آشنا شویم. شرط در ویکیپدیا چنین تعریف شده است: “یکی از قابلیتهای بسیار مهم در زبانهای برنامهنویسی، افزودن قابلیت تصمیمگیری به برنامه هاست، اینکه برنامه بتواند در شرایط تصمیمگیری کند و روند اجرا را تغییر دهد. البته برنامههای ساده کامپیوتری آنقدر هوشمند نیستند که خود بتوانند تصمیمگیری کنند و این تصمیمگیری از قبل میبایست توسط برنامهنویس در برنامه گنجانده شود. این گونه تصمیمگیریها در زبانهای برنامهنویسی با عنوان شرط مورد استفاده قرار میگیرند. الگوریتم کلی شرط در همه زبانها یکی است ولی کد برنامه ممکن است متفاوت باشد.”
چندین متد شرطی در جاوا اسکریپت وجود دارد مانند متد do-while ،while ،if-else-if ،if-else و همچنین متدهای دیگری نیز وجود دارد. از میان این متدهای مختلف در جاوا اسکریپت یکی از این متدها روش دستور سوئیچ است. این دستور از نظر عملکرد تقریبا با دستور if، else if مشابه است. این دستور ورودی خود را با آرگومانهایی که دارد مقایسه میکند و در صورت برابری عمل مربوط به آن را انجام میدهد.
ساختار دستور سوئیچ
در زیر ساختار کلی آن را بررسی میکنیم.
12345678910switch(an expression which needs to be checked) { case x: // block of code or instructions break; case y: // block of code or instructions break; default: // block of code or instructions for default condition }
رویهی اجرای این دستور به شرح زیر میباشد:
– عبارت switch ابتدا یک بار ارزیابی میگردد.
– سپس مقدار عبارت با مقادیر هر یک از caseها به طور جداگانه مقایسه میگردد.
– چنانچه مقدار عبارت با یکی از caseها مطابقت و همخوانی داشت، قطعه کد مربوطه اجرا میگردد.
فلو دیاگرام
حال ببینیم فلوچارت یک دستور سوئیچ به چه صورت است.
نمونه کد دستور سوئیچ در جاوا اسکریپت
در ادامه یک نمونه کد را مشاهده میکنیم که یک عدد ار به عنوان ورودی از کاربر میگیرد و اگر آن عدد کمتر از 10 باشد سپس همان عدد را نشان میدهد در غیر این صورت به شما اطلاع میدهد که عدد وارد شده بزرگتر از 10 میباشد.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950<!DOCTYPE html> <html> <body> <h2>JavaScript switch statement</h2> <label>Enter the number in textbox</label> <input type="number" id="inputBox"/> <input type="button" ="checkVal()" value="Check value"> <label id="labelVal"></label> var text = '', labelVal = ""; function checkVal(){ text = document.getElementById("inputBox").value; labelVal = ''; text = Number(text) switch(text) { case 1: labelVal = "You entered 1"; break; case 2: labelVal = "You entered 2"; break; case 3: labelVal = "You entered 3"; break; case 4: labelVal = "You entered 4"; break; case 5: labelVal = "You entered 5"; break; case 6: label Val = "You entered 6"; break; case 7: labelVal = "You entered 7"; break; case 8: label Val = "You entered 8"; break; case 9: labelVal = "You entered 9"; break; default: labelVal = "Enter value less than 10"; } document.getElementById("labelVal").innerText = labelVal; } </body> </html>
نمونه خروجی:
Input Value: 6
Output Value: You entered 6
در ادامه نمونه مثال اجرای Multiple Caseها را در این بخش بررسی خواهیم کرد.
12345678910111213141516171819202122232425262728293031323334353637<!DOCTYPE html> <html> <body <h2>JavaScript switch statement</h2> <label>Enter the number in textbox</label> <input type="number" id="inputBox"/> <input type="button" ="checkVal()" value="Check value"> <label id="labelVal"></label> var text = '', labelVal = ""; function checkVal(){ text = document.getElementById("inputBox").value; labelVal = ''; text = Number(text) switch(text) { case 1: labelVal = labelVal + " You entered 1"; case 2: labelVal = labelVal + " You entered 2"; case 3: labelVal = labelVal+ " You entered 3"; break; case 4: label Val = labelVal+ " You entered 4"; case 5: label Val = labelVal+ " You entered 5"; case 6: label Val = labelVal+ " You entered 6"; break; default: label Val = "Enter value less than 10"; } document.getElementById("label Val").innerText = label Val; } </body> </html>
نمونه خروجی:
Input Value: 1
Output Value: You entered 1 You entered 2 You entered 3
نتیجهگیری
جاوا اسکریپت یک زبان برنامه نویسی است که در آن مفاهیم زیادی وجود دارد که شخص باید آنها را مطالعه کند و دستورات سوئیچ یکی از آن موارد است. هدف یک دستور سوئیچ مشخص کردن یک عبارت برای ارزیابی و تعیین چندین جملهای است که بر اساس مقدار این عبارت اجرا میشوند. مفسر هرکدام از caseها را با مقدار عبارت دستور switch تا رسیدن به گزینهی مورد نظر مقایسه میکند. اگر هیچ گزینهای پیدا نشود، یک شرط پیشفرض (default) اجرا خواهد شد.