حلقه ها در JavaScript
اغلب مواقعی که کد می نویسیم، می خواهیم که یک مجموعه از دستورات بارها و بارها اجرا شوند، بجای اینکه آن چند خط که اغلب یکسان هستند را در دستورات تکرار کنیم از حلقه ها استفاده می کنیم.
انواع دستورات حلقه ای در JavaScript:
- for: دستورات داخل حلقه از یک عدد مشخص به تعدادی مشخص تکرار می شود.
- while: تا زمانی که شرط حلقه درست باشد، دستورات اجرا می شود.
- do...while: دستورات داخل حلقه چه شرط حلقه درست باشد و چه نباشد برای یک بار اجرا می شود، و در مراحل بعدی اگر شرط حلقه درست بود، دستورات اجرا می شوند.
- for...in: مخصوص کار با آرایه ها و خصوصیات اشیاء می باشد و به واسطه آنها حلقه ایجاد می کند.
حلقه For
از حلقه for زمانی که تعداد دفعات اجرای دستورات را بدانید استفاده می شود یعنی دستورات داخل حلقه از یک عدد مشخص به تعدادی مشخص تکرار می شود.
نحوه استفاده:
{
code to be executed
}
پارامترها:
- init: تنها یکبار در ابتدای حلقه اجرا می شود، و اغلب برای تعریف یک شمارنده استفاده می شود.
- condition: ارزیابی تکرار حلقه، اگر شرط برقرار باشد دستورات اجرا می شوند، در غیر اینصورت دستورات ادامه نمی یابند.
- increment: بعد از هر بار اجرای دستورات حلقه، این دستور اجرا می شود و اغلب برای افزایش شمارنده استفاده می شود.
در مثال زیر یک حلقه تعریف شده که با i=0 شروع می شود، و تا زمانی که i<=5 باشد ادامه خواهد یافت و به مقدار i در هر بار اجرای حلقه یک واحد اضافه می شود:
مثال (حلقه for در JavaScript)
<body>
<script type="text/javascript">
var i=0;
for (i=0;i<=5;i++)
{
document.write("The number is " + i);
document.write("<br />");
}
</script>
</body>
</html>
حلقه while
در فصل بعدی درباره حلقه while توضیح داده خواهد شد.

مثال - خودتان امتحان کنید
میخوام یک کد بنویسم که یک عبارت رو در 6 خط چاپ کنه و هر خط رو با h1 الی h6 لطفا کمک کنید
beyamooz.com/try_it_yourself/tryit.php?filename=tryjs_for_h1_h6
چطور میشه با تگ input در html داده ای به آرایه ای در جاوا اسکریپت داد و در آرایه ذخیره کرد.. مثلا اگه بخوایم این کار رو با حلقه for انجام بدیم به چه صورتی انجام میگیره ؟
مثلا از طریق input type="text بخواد 6 بار ورودی بفرسته برای جاوااسکریپت و در جاوا با آرایه و حلقه ی for 6بار ورودی بگیره ..من این تمیرین رو با جاوا و سی پلاس پلاس انجام دادم ولی اینجا نتونستم
راهنماییم کنین چطور این تمرین رو انجام بدم خیلی ممنونتون میشم
codepen.io/sbaloot3/pen/abbKdgy
این لینکی که شما قرار دادین چیزی نیومد در صفحه.. خطا داد
من از document.getElementById استفاده کردم ،اما هیچی چاپ نشد ، لطفا یه توضیحی در مورد عملکرد و جزئیات document.write و document.getElementById لطف کنید
با تشکر
1- از document.write برای چاپ یک رشته متنی دلخواه استفاده می شود. و در یک پروژه واقعی کاربردی ندارد.
2- با استفاده از document.getElementById می توانیم خصوصیات مختلف یک عنصر موجود در صفحه را تنظیم کنیم و یا خصوصیات مختلف را بدست آوریم. همان طور که از نام دستور بر می اید عنصر مورد نظر مان را با استفاده زا Id آن عنصر پیدا می کند. بعنوان مثال اگر یک عنصر p با Id مثلا "paragraph" داشته باشیم و بخواهیم متن آن را تنظیم کنیم بصورت زیر عمل می کنیم:
document.getElementById("demo").innerHTML='Your Text'
www.beyamooz.com/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-javascript
من می خواهم یک هدر داشته باشم که یک عددی در آن باشد مثلا 2000
یک دکمه است که وقتی کلیک می کنی تابع اجرا می شود و از کاربر توسط prompt عدد بخواهد کاربر عدد را می زند و آن عدد با هدر جمع شود و دفعه ی بعد هم همین شکل یعنی به صورت نامحدود این جمع ، تا زمانی که کاربر کلیک می کند ادامه داشته باشد
آیا این کار نیاز به حلقه for دارد ؟؟؟؟؟
اگر زحمتی نیست میشه کد شبیه اینو بنویسید
c=Number(c)+ Number(value);
این Number یه چیز تعریف شده در توابع است ؟
برای اطلاعات بیشتر می توانید به لینک زیر مراجعه کنید:
beyamooz.com/jsref/2936-%D9%85%D8%AA%D8%AF-number
function run(){
var n=prompt("insert Your Number");
m = document.getElementById("resultt").innerHTML;
m = Number(m)+Number(n);
document.getElementById("resultt").innerHTML = m;
}
0$
var m;
function run(){
var n=prompt("inser t Your Number");
m = document.getElementById("resultt").innerHTML;
m = Number(m)+Number(n);
document.getElementById("resultt").innerHTML = m;
}
به هر حال اگر می خواهید این کدها را دانلود کنید، در همان ادیتور آنلاین بر روی دکمه ی share و سپس export.zip کلیک کنید.