29) حلقه For در جاوااسکریپت
آموزش رایگان جاوااسکریپت
حلقه For
در مقاله های قبل، دستور های شرطی if else و Switch رو باهم بررسی کردیم و یادشون گرفتیم. این جلسه قراره بریم سراغ حلقه For در جاوا اسکریپت. حالا حلقه چیه؟
معرفی حلقه ها
وقتی بخوایم یک کار رو چند بار انجام بدیم یا طبق یک قانون خاص حرکتی رو انجام بدیم یا دستوری رو تکرار کنیم، از حلقهها استفاده میکنیم. مثال: بهجای اینکه اعداد 0 تا 100 رو هر بار بیایم و توی یک متغیر بریزیم و اجرا کنیم، یک حلقه تعریف میکنیم که کار رو سادهتر میکنه.
انواع حلقهها در جاوااسکریپت
ما 5 نوع حلقه داریم:
- For
- While
- Do While
- For In
- For Of
این جلسه فقط حلقه For رو بررسی میکنیم و در جلسات بعدی به ترتیب حلقههای دیگر را توضیح خواهیم داد.
مثال از استفاده حلقه For
فرض کنید میخواهیم اعداد 1 تا 100 را لاگ بگیریم. اگر بخواهیم این کار را بهصورت دستی انجام دهیم، باید کد زیر را بنویسیم:
console.log(1); console.log(2); console.log(3); console.log(4); console.log(5); console.log(6); console.log(7); ... console.log(99); console.log(100);
خروجی رو به ما درست نشون میده، ولی کار واقعا وقت گیریه و سرعت برنامه رو پایین میاره، و یه جورایی کار احمقانه ایه. پس برای اینکه اینقدر وقت ما رو نگیره و اینطور کدزنی نکنیم و با 4 یا 5 خط کد همین کار رو انجام بدیم، حلقه ها بوجود آمده اند. البته این جلسه فقط حلقه For رو بررسی میکنیم تا جلسات بعدی که برسیم به حلقه های بعدی، حلقه ها یک دستور خاص رو توی یک شرایط خاصی برای ما تکرار میکنن. یعنی تا زمانی که اون حلقه و شرط برقرار و درست باشه ، اون دستوری که داخل حلقه ما هست، تکرار و اجرا میشه. خب برسیم به مثال همراه کد. برای لاگ گرفتن اعداد 0 تا 100 :
for (let x=0; x <= 100; x++ ) { console.log(x); // 1 ta 100 log }
ما در حلقه گفتیم که متغیری با نام x
داریم که برابر با 0 هست، و تا زمانی که به عدد 100 نرسیده، این شرط و حلقه تکرار میشه و موقعی که به 100 رسید، متوقف میشه و دیگه 1 تا 100 رو لاگ نمیگیره. حلقه For حتماً باید 3 پارامتر داشته باشه:
- اولی متغیر مون هست
- دومی شرطی که در نظر گرفتیم
- سومی هم وقتی شرط کار کرد مثلا از متغیر مون کم بشه یا زیاد بشه.
میتونیم به یه صورت دیگه هم از حلقه For استفاده کنیم، که در پارامتر ها 2 تا سیمیکالن میزاریم تا Error نده و بتونیم اون شرط هارو داخل خود حلقه For تعریف کنیم نه در پارامتر هاش؛ مثال:
var x = 5; for ( ;x < 10 ; x++) { console.log(x); }
حالا میخوایم متغیر رو بیرون از حلقه تعریف کنیم. که متغیر x رو میبینید که بیرون از حلقه تعریف کردیم ، چرا تونستیم متغیر رو بیرون حلقه تعریف کنیم؟ چون در حلقه پارامتر اول رو خالی گزاشتیم و براش سیمیکالن گزاشتیم. زمانی که شما کد بالا رو اجرا کنید؛ میبینید که 5 تا 9 لاگ گرفته شده، حالا ما میتوانیم شرط و قدم شمار که پارامتر سوم هست، درون حلقه تعریف کنیم و پارامتر هارو خالی بزاریم؛ مثلا:
var x = 5; for ( ; ; x++) { if (x > 10) break; console.log(x); }
خب در این کد فقط یک تفاوت داشتیم که علامت عملگر رو برعکس کردیم. گفتیم اگه متغیر x به 10 رسید، Break کن و ادامه نده و رو خط بعدی اجرا کن. در واقع گفتیم زمانی که بیشتر از 10 شد بریک کن و متوقف کن، برای همین شرط if اجرا نمیشه تا اینکه متغیر x به 10 برسه. حتی میتونیم قدم شمار یا پارامتر سوم رو توی حلقه بنویسیم و اجرا کنیم و پارامتر هارو خالی کنیم و بجاش سیمیکالن بزاریم. مثال:
var x = 5; for ( ; ; ) { if (x > 10) break; console.log(x); x++ }
اگر این کد را اجرا کنید، خروجی مشابهی دریافت خواهید کرد و مشکلی پیش نخواهد آمد. با این حال، پیشنهاد میکنم از سینتکس اولیه که قبلاً گفتیم استفاده کنید. این سینتکس کد را تمیزتر و زیباتر میکنه. سینتکس دومی نیز در شرایط خاص میتوانه مفید باشد، به ویژه زمانی که نیاز دارید چند شرط بزرگ رو بررسی کنید.
نکات استفاده از سینتکس دوم حلقه For
در صورت استفاده از سینتکس دوم، حواستون باشه که علامت عملگرها را برعکس قرار بدید. این روش همچنین برای مواقعی که متغیرها را از دیتابیس یا منابع دیگر دریافت میکنید، مناسبه. در غیر این صورت، سینتکس اولی بهتره چون کد رو هم تمیزتر و هم زیباتر میکند.
خب، ما تمام نکات مربوط به حلقه For رو بررسی کردیم و با سینتکسهای مختلف آشنا شدیم. برای تسلط بیشتر، پیشنهاد میکنم تمرین کنید و کارهای مختلفی انجام بدید.
اگر با مشکلی مواجه شدید، میتوانید از سکشن کامنت سایت استفاده کنید تا بتونم بهتون کمک کنم. همچنین، برای یادگیری بهتر و کاملتر حلقه For، میتونید به بخش آموزش رایگان جاوااسکریپت در سایت مراجعه کنید و جلسه 18 که به حلقه For اختصاص داده شده، مطالعه کنید یا ویدیوهای مربوطه را مشاهده نمایید.
برای مشاهده لینک دانلود لطفا وارد حساب کاربری خود شوید!
وارد شویدپسورد فایل : ندارد گزارش خرابی لینک
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.