سلام به همه
عید تون مبارک
سر تمرین جاواسکریپت بودم یه تمرینی اومدم بکنم که با ورود کاربر از کاربر یه مقدار معدل اون رو بگیره و برای مثال اگر بین 18 تا 20 بود عنوان a رو نشون بده تا مقداری ها دیگه از سویچ ها استفاده کردم روش عادیش این بود که برای هر کدوم case رو تعریف کنم اما اومدم یکم خلاصه بنویسم و از | | استفاده کردم or ها ولی کدم رو درست اجرا نمیکنه ؟
var userScor =nomber(prompt(' enter your scor please'))
switch (userScor){
case 18 || 19 || 20 :
alert("A")
break;
case 15 || 16 || 17 :
alert("B")
break;
case 14 || 13 || 12 :
alert("C")
break;
default:
alert('false');
break;
}سلام، روشی که شما برای استفاده از switch با مقادیر جدید استفاده کردهاید صحیح نیست. در switch، شما نمیتوانید از عملگر شرطی or (||) برای تعریف بین دو شرط استفاده کنید. به جای آن، باید چند شرط را با case جداگانه تعریف کنید.
در ضمن، تابع prompt مقدار ورودی را به صورت رشته (string) باز میگرداند، بنابراین برای مقایسه با اعداد، آن را با استفاده از تابع parseInt به عدد تبدیل کنید.
در نهایت کد شما به صورت زیر تغییر میکند:
var userScor = parseInt(prompt('Enter your score please'));
switch (userScor) {
case 18:
case 19:
case 20:
alert("A");
break;
case 15:
case 16:
case 17:
alert("B");
break;
case 14:
case 13:
case 12:
alert("C");
break;
default:
alert('false');
break;
}
با این تغییرات، کد شما باید به درستی کار کند.
شاید پاسخ شما همینجا باشد