مطالب مربوط به حلقه در چهار بخش تشريح ميشوند .در اين بخش حلقهfor وبقيه مطابق جدول زير ارائه ميگردد.
نوع حلقه جاوااسكريپت | آدرس لينك بخش |
---|---|
حلقهfor/in | js for /in |
حلقهfor / of | js for/of |
حلقه هايwhile and do while | js while and do while |
حلقه ها ميتوانند يك بلوك كد را چندين بار اجرا نمايند .در جاوااسكريپت بچندين روش ميتوان حلقه ايجاد كرد.
اگر بخواهيد يك مجموعه كدرا بارها با مقادير متفاوت اجراكنيد، حلقه ها مفيد مي باشند .نمونه آن كار با آرايه هاست.
نمونه زير كار باآرايه باحلقه وبدون حلقه
بجاي نوشتن نمونه زير
text += cars[0] + "<br>"; text += cars[1] + "<br>"; text += cars[2] + "<br>"; text += cars[3] + "<br>"; text += cars[4] + "<br>"; text += cars[5] + "<br>";
ميتوان حلقه زيرا نوشت.
for (let i = 0; i < cars.length; i++) { text += cars[i] + "<br>"; }
جاوااسكريپت ازانواع حلقه هاي زير پشتيباني ميكند:
دستورfor با سه عبارت اختياري حلقه اي را ايجاد ميكند :
for (expression 1; expression 2; expression 3) { // code block to be executed }
مثال ـ حلقهfor
for (let i = 0; i < 5; i++) { text += "The number is " + i + "<br>"; }
باتوجه بمثال فوق حلقه مطابق زير عمل ميگردد:
معمولا اين عبارت براي تنظيم مقادير اوليه اجراي حلقه استفاده ميشود(let i=0;) .
البته هميشه اينطور نيست، و جاوااسكريپت اهميتي نميدهد وآن اختياريست.
مي توانيد تعدادي عبارت تنظيمي كه با كاما تفكيك ميشوند در آن قراردهيد.
مثال ـ حلقه با چند عبارت تنظيمي
for (let i = 0, len = cars.length, text = ""; i < len; i++) { text += cars[i] + "<br>"; }
مي توانيد عبارت يك راحذف كنيد وقيتكه مقادير اوليه لازم ، قبل از اجرا خارج حلقه تنظيم شده باشند.
مثال ـ حلقهfor با حذف عبارت يك
let i = 2; let len = cars.length; let text = ""; for (; i < len; i++) { text += cars[i] + "<br>"; }
اغلب از عبارت دوم براي ارزيابي متغير هاي اوليه استفاده ميشود .البته هميشه اين روال نيست و جاوااسكريپت اهميتي قائل نيست واين عبارت هم اختياريست.
اگر عبارت دوم داراي نتيجهtrue باشد، بلوك اجراميشود، در غيراينصورت اجرا متوقف ميگردد .
توجه ـ اگر عبارت دوم حذف شود، بايد در داخل بلوك حلقه شرايط توقف(break) وجود داشته باشد، در غيراينحالت حلقه مدام اجرا ميگردد، ولي مرورگر آنرا از كار مي اندازد.
اغلب عبارت سوم مقدار متغيراوليه را افزايش يا كاهش ميدهد .البته هميشه اينطور نيست و وجاوااسكريپت اهميتي نمي دهد، اين عبارت هم اختياري است.
عبارت سوم ميتواند كاهشي(i--) يا افزايشي(i=i+15) يا هر چيز ديگري باشد .همچنين عبارت اختياري بوده وميتواند حذف شود، مشابه آنرا در دراخل حلقه اقدام كرد.
مثال ـ نمونه حذف عبارت سوم حلقه
let i = 0; let len = cars.length; let text = ""; for (; i < len; ) { text += cars[i] + "<br>"; i++; }
مثال ـ استفاده ازvar در حلقه
var i = 5; for (var i = 0; i < 10; i++) { // some code } // Here i is 10
دراين مثال متغيرi در بالاي حلقه وپائين با داخل حلقه يكي هستند.
مثال ـ استفاده ازlet در حلقه
let i = 5; for (let i = 0; i < 10; i++) { // some code } // Here i is 5
متغيرi در خارج حلقه با i در داخل حلقه متفاوت هستند .
دونوع حلقهFor/Of and For/in و while loop در بخش هاي بعدي تشريح ميشوند .