با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
در این جلسه قصد داریم تا با حلقه های تکرار در جاوا اسکریپت JavaScript از جمله حلقه for در جاوا اسکریپت و حلقه while در جاوا اسکریپت آشنا شویم.
حلقه های تکرار Loop می توانند یک قطعه کد را چندین بار اجرا کنند.
اگر بخواهیم به کاربرد حلقه ها را در یک نگاه اشاره کنیم، می توانیم بگوییم، به جای نوشتن :
1 2 3 4 5 6 | text += cars[0] + "<br>"; text += cars[1] + "<br>"; text += cars[2] + "<br>"; text += cars[3] + "<br>"; text += cars[4] + "<br>"; text += cars[5] + "<br>"; |
می توانید به این صورت بنویسیم :
1 2 3 4 | var i; for (i = 0; i < cars.length; i++) { text += cars[i] + "<br>"; } |
جاوا اسکریپت از حلقه های تکرار مختلفی پشتیبانی می کند:
ساختار دستور:
1 2 3 | for (statement 1; statement 2; statement 3) { //کد اجرایی } |
statement 1 : یک بار قبل از اجرای حلقه اجرا می شود. (شمارنده را تعریف و مقدار دهی می کند)
statement 2 : شرط حلقه را تعریف می کند.
statement 3 : هر بار بعد از اجرای کد، اجرا می شود. (شمارنده را افزایش یا کاهش می دهد)
مثال:
1 2 3 | for (i = 0; i < 5; i++) { text += "The number is " + i + "<br>"; } |
از مثال بالا می توانید نتیجه بگیریم:
دستور ۱ یک متغیر قبل از اینکه حلقه شروع می شود (var i = 0).
دستور ۲ شرط لازم برای اجرای حلقه را تعیین می کند (من باید کمتر از ۵ باشد).
دستور ۳ هر زمانی که بلوک کد در حلقه اجرا می شود مقدار (i ++) را افزایش می دهد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html> <html> <body> <h2>JavaScript Loops</h2> <p id="demo"></p> <script> var text = ""; var i; for (i = 0; i < 5; i++) { text += "The number is " + i + "<br>"; } document.getElementById("demo").innerHTML = text; </script> </body> </html> |
خروجی کد فوق، به شکل زیر می باشد:
1 2 3 4 5 | The number is 0 The number is 1 The number is 2 The number is 3 The number is 4 |
همچنین شما می توانید فقط دستور دوم حلقه (شرط تکرار حلقه) را تعریف کنید :
1 2 3 4 5 6 | var i = 0; var len = cars.length; for (; i < len; ) { text += cars[i] + "<br>"; i++; } |
در این نوع حلقه، کد به اندازه تعداد پروپرتی های یک شدئ اجرا می شود:
1 2 3 4 5 6 7 | var person = {fname:"John", lname:"Doe", age:25}; var text = ""; var x; for (x in person) { text += person[x]; } |
خروجی به شکل زیر می باشد:
1 | John Doe 25 |