در این مقاله از طراحی سایت در قسمت آموزش جاوا اسکریپت ، حلقه 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( )" / >