بنام خدا : با یک آموزش دیگه از سری آموزشهای جاوا اسکریپت
درخدمتتون هستم . در این جلسه دستورات شرطی رو توی جاوا اسکریپت
خواهیم داشت .
همونطور که میدونید ساختار دستورات شرطی و حلقه ها در جاوا
اسکریپت مثل زبانهای 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";
امیدوارم مفید بوده باشه تا جلسه بعد در پناه حق.