عبارات و دستورات شرطی در جاوا اسکریپت

بنام خدا : با یک آموزش دیگه از سری آموزشهای جاوا اسکریپت درخدمتتون هستم . در این جلسه  دستورات شرطی رو توی جاوا اسکریپت  خواهیم داشت .

همونطور که میدونید ساختار دستورات شرطی و حلقه ها در جاوا اسکریپت مثل زبانهای C , جاوا هست  و زیاد تفاوتی نمیکنه .  با چند تا مثال  زیر سعی میکنم ساختارهای کنترلی و شرطی رو براتون بیان کنم :


var Grade=18.5;
var Name="Ali";
var Age=28;
if(Grade > 17) alert("Good Grade...");
if(Name=="Ali" && Age>25){
    document.getElementById("lblPrint").style.color="red";
    document.getElementById("lblPrint").innerHTML="Hi " + Name + " Welcome";
}

اگه دستورات داخل بدنه if فقط یک دستور باشه نیازی به {} نیست ولی اگه بیشتر از یکی باشه باید دستورات بدنه if رو داخل {} بگذارید . نکته بعدی عبارات شرطی هست  که با هاش آشنایی دارید . اگه بخواییم بیشتر از یک شرط رو بررسی کنیم باید با علامتها ی ترکیب شرطها مثل and و or اونها رو تفکیک کنیم . لیست زیر عماگر های  مقایسه ای رو نشون میده :

عملگر توضیحات مقایسه مقدار بازگشتی
== تساوی دو مقدار x == 8 false
x == 5 true
=== تساوی از نظر نوع و مقدار x === "5" false
x === 5 true
!= نا مساوی x != 8 true
!== نامساوی از نظر نوع و یا مقدار x !== "5" true
x !== 5 false
> بزرگتر x > 8 false
< کوچکتر x < 8 true
>= بزرگتر یا مساوی x >= 8 false
<= کوچکتر یا مساوی x <= 8 true

حالا برای ترکیب این شرطها عملگرهایی  به نام عملگر های منطقی داریم که این کار رو انجام میده :

عملگر توضیحات مثال
&& and (و) (x < 10 && y > 1) is true
|| or (یا) (x == 5 || y == 5) is false
! not (نقیض) !(x == y) is true

یک دسته از عملگر ها هم روی حالت بیتی اعدا کار میکنن. مثلا بیتهای دو عدد رو با هم or یا and میکنن (مثل زبانهای c JAVA  c++ ) :

عملگر توضیحات مثال حالت بیتی عملیات نتیجه عدد دهدهی
& AND x = 5 & 1 0101 & 0001 0001 1
| OR x = 5 | 1 0101 | 0001 0101 5
~ NOT x = ~ 5  ~0101 1010 10
^ XOR x = 5 ^ 1 0101 ^ 0001 0100 4
<< Left shift (انتقال یک بیتی به چپ) x = 5 << 1 0101 << 1 1010 10
>> Right shift(انتقال یک بیتی به راست) x = 5 >> 1 0101 >> 1 0010 2

بعد از با شرط و منطق و ترکیب شرطها آشنا شدیم بریم سراغ دستورات شرطی در جاوا اسکریپت :

ساده ترین دستور که همون if هست رو توضیح دادیم . شکل دیگرش if else هست و شکل گسترده تری هم داره if..else if ..else که معمولا با شکل دیگری از دستورات شرطی به نام switch case پیاده سازیش میکنن.

دستور if..else


if (age < 20) {
    Message = "teen age...";//اگر عبارت شرطی درست بود اجرا شود
} else {
    Message = "young man...";//در غیر اینصورت
}
 

دستور if..else if ..else

چند تا دستور پشت سرهم که به زبان ساده میشه اینجوری گفت . مثلا اگه سن بالاتر از 20 بود فلان شرط اجرا بشه در غیر اینصورت اگه کوچکتر از 5 بود فلان دستور یا دستورات اجرا بشه :


if (age >20) {
    Message = "Greater Than 20";
} else if (age > 10) {//یعنی بین 10 و 20 باشه
    Message = "Between 10 and 20";
} else {//یعنی حتما کوچکتر یا مساوی 10
    Message = "Lower Than or equal 10 ";
} 

دستور switch :

وقتی میخواییم بدونیم مثلا یک متغییر خاص چه مقداری داره و تعداد حالتهاشوهم میدنویم و این تعداد حالتها بیشتر 2 حالت باشه بهتره از  switch ابه شکل زیر استفاده کنیم  :


switch (Day) {
    case 1:
        text = "شنبه";
    break;
    case 2:
        text = "یکشنبه";
    break; 
case 3:
        text = "دوشنبه";
    break;
    default://اگر هیچ کدام از شرایط برقرار نبود این بلاک اجرا میشود
        text = "سایر روزها";
}
 

اگه بین  دو یا چند دستور case دستور break نذاریم اونوقت این چند تا case با هم or میشن :


switch (Day) {
    case 1:
        text = "شنبه";
    break;
    case 2:
        text = "یکشنبه";
    break; 
case 3:
case 4:
case 5://3 
یا 4 یا 5 باشه 
        text = "دوشنبه و سشنبه و چهاشنبه";
    break;
    default://اگر هیچ کدام از شرایط برقرار نبود این بلاک اجرا میشود
        text = "سایر روزها";
} 

یک دستور منترلی شرطی دیگه داریم که از C ارث برده شده و اون دستور شرطی ترکیبی هست که تویه خط با ساختار زیر  نوشته میشه :


variablename = (condition) ? value1:value2 //اگه شرط برقرار باشه مقدار اول در متغییر جایگذاری میشه در غیر اینصورت مقدار دوم
 

مثال :


voteable = (age < 18) ? "Too young":"Old enough";

 

امیدوارم مفید بوده باشه تا جلسه بعد در پناه حق.


فایلهای ضمیمه
توجه! هیچ فایل ضمیمه ای برای این مطلب یافت نشد

نظرات شما نظر جدید