طراحی سایت در شرکت طراحی سایت مبنا
طراحی سایت هدف نیست، ارتقا تجارت هدف است

حلقه for در جاوا اسکريپت

10 / 10 از 1 کاربر

در این مقاله از طراحی سایت در قسمت آموزش جاوا اسکریپت ، حلقه for را توضیح می دهیم .
از حلقه ی for هنگامیکه می خواهیم مجموعه دستورالعمل های حلقه به تعداد دفعات معینی انجام شود استفاده می کنیم .

حلقه for دارای 3 پارامتر اصلی می باشد که عبارتنداز:
√ مقدار اوليه متغير : به وسيله اين مقدار ، مقدار اوليه برای شروع شمارنده حلقه تعيين می شود .
√ عبارت کنترلی : در اين قسمت يک عبارت کنترلی مرتبط با شمارنده حلقه تعيين می شود ، که در هر بار اجرای مجدد حلقه ، شرط عبارت کنترل شده و در صورت برقرار بودن شرط ، دستورات حلقه اجرا می شود .
√ گام افزايش يا کاهش : در اين قسمت ، ميزانی که متغير شمارنده حلقه ، در هر بار اجرای دستورات آن افزايش يا کاهش می يابد را تعيين می کنيم .

نحوه ی عملکرد این حلقه به صورت زیر می باشد : در این حلقه از یک مغیر به عنوان شمارنده یا کنترل کننده حلقه استفاده می شود.اين متغير در ابتدای اجرای حلقه ، مقدار دهی اوليه شده و اجرای مجدد حلقه با يک عبارت شرطی کنترل شده که در صورت درست بودن شرط ، دستورات حلقه يکبار اجرا می شود و با هر بار اجرای حلقه متغير حلقه به اندازه گام تعيين شده ، افزايش يا کاهش می يابد .
شکل کلی تعريف يک حلقه for به صورت زير است :

for   ( گام افزايش يا کاهش  ; تعيين عبارت کنترلی   ; تعيين مقدار اوليه متغير )
   {
    دستورات بدنه حلقه
   }

نکته : از 3 پارامتر اصلی حلقه for ، فقط تعيين عبارت کنترلی در هنگام تعريف حلقه اجباری بوده و می توان متغير شمارنده حلقه را قبل از تعريف حلقه مقدار دهی کرد و همچنين گام افزايش يا کاهش را در بدنه دستورات تابع قرار داد . در اين صورت می توان جای موارد فوق را در تعريف حلقه خالی گذاشت .
مثال : در مثال زير يک حلقه ساده در اسکريپت زير ايجاد شده است . شمارنده اين حلقه که متغيری به نام n است با مقدار اوليه 1 مقدار دهی شده و شرط حلقه کوچکتر يا مساوی بودن شمارنده حلقه از 5 تعيين شده است . گام افزايش اين حلقه نيز 1+ در نظر گرفته شده است . اين حلقه در هر بار اجرا مقدار متغير n را بر روی صفحه چاپ می کند . به خروجی آن دقت کنيد :

< script type="text/javascript" >
  var n ;
  for ( n = 1 ; n <= 5 ; n++ )
    {
      document.write ("Line number is " + n + "<br />") ;
    }
< /script >
خروجی :
Line number is 1
Line number is 2
Line number is 3
Line number is 4
Line number is 5

مثال 2 : همانطور که گفتيم می توان قسمت پارامترهای مقدار اوليه و گام افزايش يا کاهش را در يک حلقه for خالی گذاشته و مقدار اوليه را قبل از تعريف حلقه و گام حلقه را در درون بلاک کد حلقه تعيين کرد . مثال شماره 1 را به اين صورت نيز می توان نوشت :

< script type="text/javascript" >
  var n = 1;
  for (   ; n <= 5 ;   )
    {
      document.write ("Line number is " + n + "<br />") ;
      n++ ;
    }
< /script >
خروجی :
Line number is 1
Line number is 2
Line number is 3
Line number is 4
Line number is 5

نکته و مثال 3 : گام يک حلقه می تواند منفی يا کاهشی نيز باشد . در مثال زير شمارنده حلقه با هر بار اجرای حلقه يک واحد کاهش می يابد :

< script type="text/javascript" >
  var n ;
  for ( n = 5 ; n >= 1 ; n-- )
    {
      document.write ("Line number is " + n + "<br />") ;
    }
< /script >
خروجی :
Line number is 5
Line number is 4
Line number is 3
Line number is 2
Line number is 1

يک برنامه کاربردی :

در اين قسمت يک برنامه ساده را با جاوا اسکريپت طراحی کرده ايم . اين برنامه از طريق 2 کادر متن ، دو عدد را به عنوان ورودی دريافت کرده و عدد اول را به توان عدد دوم می رساند .
توضيح : در ابتدا يک متغير به نام sum برای نگهداری جواب را با مقدار اوليه 1 تعريف می کنيم . سپس مقدار کادر اول در متغير n و مقدار کادر دوم را در متغير i ذخيره می کنيم . از عدد دوم به عنوان شمارنده حلقه استفاده شده که با هر بار اجرای حلقه ، عدد اول يکبار در خود ضرب شده و يک واحد از شمارنده حلقه نيز کم می شود ، تا به 1 برسد . در اين حالت اجرای حلقه متوقف شده و نتيجه خروجی بر روی صفحه چاپ می شود :

< script type="text/javascript" >
  function multiple ( )
   {
    var sum = 1 ;
    var n = Num1.value ;
    for ( var i = Num2.value ; i > 0 ; i-- )
   {
    sum = sum * n ;
   }
   document.write ( sum ) ;
   }
< /script >
< input type="text" id="Num1" />
< input type="text" id="Num2" />
< input type="button" id="Btnclick" value=" Click for Multipe" onclick="multiple( )" / >

ارسال نظر و نظرات ثبت شده
نام شما :
ایمیل :
تلفن تماس :
متن پیغام :