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