تبلیغات
Fact World - حلقه for و while در جاوا اسکریپت (JavaScript)

آموزش برنامه نویسی و مهارتهای وب

article 

حلقه for و while در جاوا اسکریپت (JavaScript)

javascript-for-whileاگر تا این مرحله، آموزش های مقدماتی بخش جاوا اسکریپت را دنبال کرده باشید، حتما با کلیاتی از آن آشنا شده اید، شیوه نگارش و دستورالعمل (syntax) آن را فراگرفته اید و قادر هستید یک کد ساده بنویسید و از آن خروجی بگیرید، در مطلب گذشته دیدیم که چگونه از مقایسه (Comparison) و شرط (If و Else) استفاده کنیم و تفکری که در ذهن داریم را در بستر مفسر جاوا اسکریپت پیاده سازی کنیم، حال در ادامه آموزش های مقدماتی می خواهیم شما را با عنصری دیگر به نام حلقه (loop) آشنا کنیم و با دو نوع پرکاربرد آن یعنی for و while به کمک مثالهایی، تمرین نمائیم.

حلقه های for و while در جاوا اسکریپت چه کاربردی دارند؟


اگر بخواهیم به زبان ساده کاربرد حلقه ها را توضیح دهیم، باید بگویم حلقه ها در زبان های برنامه نویسی (عموما) و به طور خاص در جاوا اسکریپت برای محاسبات تکراری با مقادیر متفاوت کاربرد دارند، مثلا اگر نمرات 100 دانش آموز را داشته باشیم و بخواهیم معدل آنها را حساب کنیم، به جای نوشتن کد برای تک تک آنها، یک کد به صورت حلقه می نویسیم و تنها در هر دور محاسبه، مقادیر را با نمرات و اسامی دانش آموزان جایگزین می کنیم؛ از لحاظ برنامه نویسی حلقه ها نیاز به یک شرط دارند و تا زمانی که آن شرط درست باشد (true باشد)، ادامه پیدا خواهند کرد، به عنوان نمونه، در مثالی که پیش تر ذکر شد، شرط می تواند این باشد: تا زمانی که (while) تعداد دانش آموزان به 100 نرسیده (100 > var) محاسبه را انجام بده.

حلقه for در جاوا اسکریپت (javascript for loop):


از حلقه for در جاوا اسکریپت (مثل دیگر زبان های مشابه) برای خروجی گرفتن یک عنصر در دور تکرار، با مقادیر افزایشی یا کاهشی استفاده می شود، شاید در نگاه نخست درک نحوه کارکرد for کمی پیچیده به نظر برسد اما با کمی تامل و موشکافی خواهید دید که حداقل موارد ابتدایی و اولیه آن بسیار ساده است، شیوه نگارش یک حلقه for به صورت زیر است.
<script type="text/javascript">
for (i=0;i<10;i++){
}
</script>
توضیح:
- در کد ساده بالا، حرف i یک متغیر پیش فرض است که می تواند به فرض معیار یک دانش آموز باشد (هر دانش آموز را یک i فرض می کنیم!).
- در قسمت اول i را برابر صفر قرار می دهیم، چون می خواهیم از صفر شروع کنیم (i=0).
- در آرگومان (argument) دوم، به حلقه for می گوییم که تا چه زمانی تکرار شود (تا زمانی که i<10 باشد).
- در قسمت سوم حلقه، به ازای هر یک دور تکرار، متغیر i را یک واحد افزایش می دهیم و تا زمانی که i کوچکتر از 10 باشد این تکرار ادامه می یابد (دور اول = 0+1 دور دوم = 1+1 دور سوم = 2+1 و...).
- در بخش چهارم حلقه، خروجی یا محاسبات را بین {} انجام می دهیم.
در مثال زیر ما متغیر هایی را تعریف و در یک حلقه از آنها خروجی گرفته ایم.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>وبگو | حلقه for در جاوا اسکریپت</title>
<!-- http://webgoo.ir -->
<style type="text/css">
body{
direction:rtl;
font-size:12px;
font-family:Tahoma, Geneva, sans-serif;
}
</style>
<script type="text/javascript">
//<![CDATA[
var br = '<br />';
document.write("شروع حلقه for <br />");
for (i=0;i<10;i++){
var loop = i + 1;
document.write("مقدار i در دور " + loop + " = " + i);
document.write(br);
}
document.write("پایان حلقه for <br />");
//]]>
</script>
</head>
<body>
<noscript>
جاوا اسکریپت در مرورگر شما غیر فعال است!
</noscript>
<hr />
مقادیر متغیر در حلقه for در درون آن تعریف می شود.
</body>
</html>
پیش نمایش
توضیح:
- همانطور که در مطالب گذشته گفتیم، در کد بالا عبارت CDATA برای معتبر بودن کد از لحاظ سیستم اعتبار سنجی w3c است.
- در این مثال تمام متغیر ها و مقادیر به صورت دلخواه و فرضی تعریف شده اند.
- در حلقه for، متغیر loop را تعریف کرده ایم که با هر دور حلقه، میزان فعلی i را به اضافه یک می کند.
- سپس با دستور document.write خروجی را به مرورگر داده ایم.
اگر بخواهیم به صورت ساده ساختار حلقه را بررسی کنیم؛ در دور اول i برابر صفر است، متغیر loop برابر صفر + 1 است، پس خروجی دور اول می شود: مقدار i در دور 1 = 0 ، سپس در دور دوم i یک مقدار افزایش می یابد (به وسیله بخش سوم حلقه ++i) و می شود 1، مقدار متغیر loop می شود i + 1 که نتیجه می شود 2 (1+1) و خروجی این دور برابر است با: مقدار i در دور 2 = 1 و همین طور این ساختار ادامه می یابد تا زمانی که i کوچکتر از 10 است (i<10).

حلقه while در جاوا اسکریپت (javascript while loop):


همانطور که دیدیم، در حلقه loop، مقداری تحت عنوان فرضی i را در خود ساختار حلقه، افزایش (یا کاهش) دادیم، اما اگر بخواهیم با توجه به متغیری دیگر، خارج از ساختار حلقه، خروجی داشته باشیم، نیاز به while داریم، while به فارسی برابر است با کلمه "مادامی که" یا "تا زمانی که"، مثلا تا زمانی که تعداد دانش آموزان به 10 نرسیده، حلقه را تکرار کن؛ به کد زیر توجه کنید تا موضوع برایتان روشن شود.
<script type="text/javascript">
var num = 0;
while (num < 10){
num++;
}
</script>
توضیح:
- معمولا در ساختار while، متغیری خارج از ساختار حلقه ارزیابی می شود و تا زمانی که آن رابطه درست (true) باشد، خروجی حلقه پردازش می شود (خروجی الزاما در مرورگر نشان داده نمی شود).
- در کد بالا، ابتدا متغیری فرضی با عنوان num را تعریف و مقدار آن را برابر صفر قرار داده ایم، سپس به حلقه ی while می گوییم تا زمانی که num کوچکتر از 10 است، میزان num را در هر دور یک واحد افزایش بدهد (++num).
در مثال زیر، نحوه استفاده از while را ملاحظه می کنید.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>وبگو | حلقه while در جاوا اسکریپت</title>
<!-- http://webgoo.ir -->
<style type="text/css">
body{
direction:rtl;
font-size:12px;
font-family:Tahoma, Geneva, sans-serif;
}
</style>
<script type="text/javascript">
//<![CDATA[
var br = '<br />';
var num = 0;
document.write("شروع حلقه while <br />");
while (num < 10){
var loop = num + 1;
document.write("مقدار i در دور " + loop + " = " + num);
document.write(br);
num++;
}
document.write("پایان حلقه while <br />");
//]]>
</script>
</head>
<body>
<noscript>
جاوا اسکریپت در مرورگر شما غیر فعال است!
</noscript>
<hr />
مقادیر متغیر در حلقه while در بیرون آن تعریف می شود.
</body>
</html>
پیش نمایش
توضیح:
- در این مثال نیز متغیرهایی را به صورت فرضی تعریف و در حلقه ی while، مقادیر را پردازش کرده ایم، ساختار while شباهت زیادی به for دارد، لذا از توضیحات مربوط به for تا حدود زیادی می توانیم در مورد while نیز استفاده کنیم.
- توجه کنید که حتما حلقه خود را طوری تعریف کنید که پایان پذیر باشد!، یک اشتباه کوچک ممکن است موجب بی نهایت شدن دور شود که موجب از کارافتادن مرورگر می شود، مثلا در کد بالا اگر مقدار num را در هر دور یک واحد افزایش ندهیم، حلقه تا بی نهایت ادامه می یابد چرا که شرط ادامه حلقه، کوچکتر بودن num از 10 است و واضح است که مقدار صفر همیشه از 10 کوچکتر است (و شرط while همیشه true است).
section دسته بندی: آموزش مقدماتی - آموزش مقدماتی JavaScript -


یکشنبه 13 مهر 1393

نظرات ()


سه شنبه 17 مرداد 1396 01:51 ب.ظ
Hi! I could have sworn I've been to this blog before but after
checking through some of the post I realized it's new to me.
Anyhow, I'm definitely happy I found it and I'll be bookmarking and checking back frequently!
دوشنبه 16 مرداد 1396 07:04 ق.ظ
Thanks , I have recently been searching for information approximately this subject
for a long time and yours is the greatest I've found out
till now. However, what in regards to the conclusion? Are you certain in regards to the
source?
جمعه 25 فروردین 1396 01:21 ق.ظ
BHW
If you would like to grow your experience just
keep visiting this web site and be updated with the latest news update posted here.

نظر خود را ثبت کنید:

 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر



آگهی
آموزش طراحی سایت
webgoo.ir

آموزش برنامه نویسی و مهارتهای وب
امکانات جانبی


IP شما: ( )