View Full Version : مبتدی: تعیین محدوده مقادیر در دستور switch
mahmoud_monfaredi
یک شنبه 10 فروردین 1393, 10:50 صبح
سلام خدمت همه دوستان
اگر بخوای برای هر case در دستور switch محدوده ای تعیین کنی یا دو مقدار رو در یک case قرار بدی ، این کار چه شکلی انجام میشه
مثلا : 0 تا 4 ------ 5 یا 6
در vb.net با to , is این کار انجام میشد اما جاوا اسکریپت ........
Javidhb
یک شنبه 10 فروردین 1393, 11:24 صبح
var x = 10;
switch (true) {
case (x < 5):
alert("x < 5");
break;
case (x < 10):
alert("5 - 10");
break;
case (x >= 10):
alert(" x >= 10");
break;
default:
alert("none");
break;
}
توضیحات بیشتر (http://stackoverflow.com/a/17145931/2506043)
hakan648
یک شنبه 10 فروردین 1393, 11:28 صبح
سلام
دستور سویچ به این شکل هست که نمیشه یک محدوده رو در یک case تعریف کرد. اما میتونید چند تا case رو با هم برای یک نتیجه بکار ببرید.
مثلا:
switch (EXPR) {
case CASE1:
case CASE2:
case CASE4:
case CASE5:
alert("CASE1 to CASE5");
break;
case CASE6:
case CASE7:
alert("CASE6 to CASE7");
break;
}
mahmoud_monfaredi
یک شنبه 10 فروردین 1393, 13:33 عصر
سلام
دستور سویچ به این شکل هست که نمیشه یک محدوده رو در یک case تعریف کرد. اما میتونید چند تا case رو با هم برای یک نتیجه بکار ببرید.
مثلا:
switch (EXPR) {
case CASE1:
case CASE2:
case CASE4:
case CASE5:
alert("CASE1 to CASE5");
break;
case CASE6:
case CASE7:
alert("CASE6 to CASE7");
break;
}
ظمن تشکر از پست شما باید بگم در مورد اینکه نمیشه ی محدوده رو در یک case قرار داده اشتباه در مثال زیر من این کار رو انجام دادم
var avg = window.prompt("معدل را وارد کنید : ");// avg = avg.parseInt("avg");
switch (true)
{
case avg >= 19 && avg <= 20 :
window.alert("عالی");
break;
case avg >= 17 && avg <= 18.99 :
window.alert("خوب");
break;
case avg >= 15 && avg <= 16.99 :
window.alert("متوسط");
break;
case avg >= 10 && avg <= 14.99 :
window.alert("ظعیف");
break;
case avg >= 0 && avg <= 9.99 :
window.alert("مردود");
break;
default :
window.alert("داده وارد شده نامعتبر است");
}
hakan648
یک شنبه 10 فروردین 1393, 13:41 عصر
بله من متوجه شدم که اشتباه کردم، در جاوا اسکریپت کارهای جالبی میشه انجام داد. مثالی که قرار دادند رو بررسی کردم، لینک رو هم مشاهده کردم، بسیار جالب بودند.
فکر میکردم که مثل زبان C یا C# که مقادیر CASE حتما باید در زمان کامپایل مشخص شده باشند، اینجا هم به همین روال است.
از همین رو از دوستمون هم که این مطلب مفید رو قرار دادند تشکر کردم و میکنم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.