حلقه چیست ؟ گاهی اوقات ما می خواهیم یک یا چند دستور را چندین بار تکرار کنیم ،لذا به جای این که این دستورات را چندین بار تایپ کنیم و بی جهت تعداد خطوط کد را افزایش دهیم از یکسری دستورات به نام حلقه یا LOOP استفاده می کنیم.

انواع حلقه ها در جاوا اسکریپت : در زبان برنامه نویسی جاوا اسکریپت دو نوع حلقه وجود دارد :
  • حلقه های یا تعداد تکرار مشخص : از این نوع حلقه ها زمانی استفاده می کنیم که بخواهیم دستورات را به تعداد مشخص تکرار کنیم.یکی از معروفترین نمونه های این نوع حلقه، حلقه ی FOR می باشد :

نحو (Syntax) :
1
2
3
4
for (گام پرش + متغییر شمارنده = متغییر شمارنده ; حد بالای < متغییر شمارنده ; حد پایین = متغییر شمارنده )
  {
  دستوراتی که باید تکرار شوند
  }

مثال :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
"-//W3C//DTD HTML 4.01//EN"
For Loop Example
"text/javascript">
var myArray = ["karaj","tehran","alborz"];
var arrayLength = myArray.length;
for (var count = 0; count < arrayLength; count++ ) {
alert(myArray[count]);
}

توضیح : در مثال بالا ایتدا در خط 9 نهم یک آرایه رشته ای حاوی 3 رشته تعریف می کنیم { یک آرایه شامل متغییر هایی می باشد که با نامی واحد تعریف می شوند و با استفاده از اندیس ها متمایز می شوند.اندیس آرایه ها از عدد صفر شروع می شود }
سپس در خط دهم توسط دستور length طول آرایه را بدست می آوریم تا آن را به عنوان حد بالای حلقه به کار ببریم.
یعنی در مثال بالا حد پایین برابر صفر 0 می باشد و حد بالای آن برابر سه 3 می باشد.در ابتدای حلقه شرط حلقه بررسی می گردد { آیا 3>0 می باشد }، از آنجا که شرط برقرار است دستورات داخل حلقه اجرا می شود یعنی توسط دستور alert مقدار اولین عنصر آرایه که با اندیس صفر 0 مشخص شده است نمایش داده می شود.سپس توسط گام پرش ++count یک واحد به شمارنده حلقه اضافه می شود، سپس مجدد شرط حلقه بررسی می شود { آیا 3>1 می باشد } ، از آنجا که شرط برقرار است دستورات داخل حلقه اجرا می شود یعنی توسط دستور alert مقدار دومین عنصر آرایه که با اندیس یک 1 مشخص شده است نمایش داده می شود.مجددا توسط گام پرش ++count یک واحد به شمارنده حلقه اضافه می شود، سپس مجدد شرط حلقه بررسی می شود { آیا 3>2 می باشد }، ، از آنجا که شرط برقرار است دستورات داخل حلقه اجرا می شود یعنی توسط دستور alert مقدار دومین عنصر آرایه که با اندیس دو 2 مشخص شده است نمایش داده می شود.در نهایت توسط گام پرش ++count یک واحد دیگر به شمارنده حلقه اضافه می شود، با بررسی حلقه ب{ آیا 3>3 می باشد }،متوجه می شویم که شرط برقرار نیست لذا دستورات داخل حلقه اجرا نمی شود و از حلقه خارج می شویم.

مثالی دیگر :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 

Click the button to loop through a block of code five times.

"demo">

 
function myFunction()
{
var x="",i;
for (i=0;i<5;i++)
  {
  x=x + "The number is " + i + "
"
;
  }
document.getElementById("demo").innerHTML=x;
}
 

توضیح : در مثال بالا ابتدا در خط هفتم 7،یک پاراگراف تعریف می کنیم
1

"demo">

سپس در خط دهم 10 با استفاده از دستور
1
function myFunction()
یک تابع با نام myFunction تعریف می کنیم.
سپس توسط حلقه ی FOR دستور خود را به تعداد 5 مرتبه تکرار می کند.سپس محتوای متغییر X که متغییری رشته ای است توسط دستور
1
document.getElementById("demo").innerHTML=x;
چاپ می شود.
  • حلقه های یا تعداد تکرار نا مشخص : از این نوع حلقه ها زمانی استفاده می کنیم که نمی دانیم دستورات را به چه تعدادی می خواهیم تکرار کنیم و حلقه ی ما صرفا وابسته به یک شرط می باشد یعنی تا زمانی که شرط برقرار است دستورات حلقه اجرا می شود.یکی از معروفترین نمونه های این نوع حلقه، حلقه ی WHILE می باشد :

نحو (Syntax) :
1
2
3
4
while (شرط تکرار حلقه)
  {
 دستوراتی که باید تکرار شوند
  }

مثال :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 

Click the button to loop through a block of as long as i is less than 5.

"demo">

 
function myFunction()
{
var x="",i=0;
while (i<5)
  {
  x=x + "The number is " + i + "
"
;
  i++;
  }
document.getElementById("demo").innerHTML=x;
}
 

توضیح : در اینجا ما مثال مربوط به FOR را با استفاده از WHILE پیاده سازی کرده ایم.

حلقه ی do...while : این حلقه دقیقا مشابه WHILE می باشد با این تفاوت که دستورات آن حداقل یک بار اجرا می شوند و آن هم به این دلیل است که شرط مربوط به این حلقه در انتهای حلقه بررسی می شود .

نحو (Syntax) :
1
2
3
4
5
do
  {
  دستوراتی که بایستی تکرار شوند
  }
while (شرط حلقه);

مثال :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 

Click the button to loop through a block of as long as i is less than 5.

"demo">

 
function myFunction()
{
var x="",i=0;
do
  {
  x=x + "The number is " + i + "
"
;
  i++;
  }
while (i<5) 
document.getElementById("demo").innerHTML=x;
}
 


موضوعات مرتبط: آموزش زیان های برنامه نویسی

تاريخ : چهارشنبه بیست و نهم خرداد ۱۳۹۲ | 8:55 | نویسنده : حمید مقصودی |
.: Weblog Themes By Bia2skin :.