مقالات طراحی وب جاوا اسکریپت حلقه ها در جاوا اسکریپت

مفهوم حلقه: از ساختار دستوری حلقه ها در جاوا اسکریپت ، برای اجرای مجوعه ای از دستور العمل ها به تعداد دفعات مورد نیاز یا تا زمانی که یک شرط خاص درست باشد ، استفاده می شود.

در حلقه ، هنگامی که مجموعه دستورات حلقه به طور کامل اجرا می شود، برنامه دوباره به ابتدای مجموعه دستورات حلقه رفته و در صورت برقرار بودن شرط حلقه ، یکبار دیگر دستورات آن به طور کامل اجرا خواهد کرد.

به طور کلی ۲ نوع حلقه در جاوا اسکریپت داریم:

حلقه for: در این نوع حلقه ، مجموعه دستورالعمل ها به تعداد معلوم و مورد نیاز ، تکرار خواهد شد.

حلقه while: در این حالت ، دستورالعمل های حلقه تا زمانی که شرط تعیین شده برای آن درست باشد ، مجددا اجرا خواهد شد.

در ادامه به بررسی انواع حلقه های مورد استفاده در جاوا اسکریپت می پردازیم . در لیست زیر حلقه های معرفی شده در این قسمت قرار دارند . برای دریافت اعلاعات درباره هر کدام ، بر روی آن کلیک کنید:

for

while

do … while

for … in

۱ ) حلقه for:

از حلقه for، زمانی استفاده می شود که می خواهیم مجموعه دستورالعمل های حلقه به تعداد دفعات معینی انجام شود.

این حلقه در هنگام تعریف ۳ پارامتر اصلی دارد:

مقدار اولیه متغیر : به وسیله این مقدار ، مقدار اولیه برای شروع شمارنده حلقه تعیین می شود.

عبارت کنترلی : در این قسمت یک عبارت کنترلی مرتبط با شمارنده حلقه تعیین می شود ، که در هر بار اجرای مجدد حلقه ، شرط عبارت کنترل شده و در صورت برقرار بودن شرط ، دستورات حلقه اجرا می شود.

گام افزایش یا کاهش : در این قسمت ، میزانی که متغیر شمارنده حلقه ، در هر بار اجرای دستورات آن افزایش یا کاهش می یابد را تعیین می کنیم.

نحوه عملکرد این حلقه به صورت زیر است:

در این حلقه ، از یک متغیر به عنوان شمارنده یا کنترل کننده حلقه استفاده می شود . این متغیر در ابتدای اجرای حلقه ، مقدار دهی اولیه شده و اجرای مجدد حلقه با یک عبارت شرطی کنترل شده که در صورت درست بودن شرط ، دستورات حلقه یکبار اجرا می شود و با هر بار اجرای حلقه متغیر حلقه به اندازه گام تعیین شده ، افزایش یا کاهش می یابد.

شکل کلی تعریف یک حلقه for به صورت زیر است:

for   ( گام افزایش یا کاهش  ; تعیین عبارت کنترلی   ; تعیین مقدار اولیه متغیر )

{

دستورات بدنه حلقه

}

نکته: از ۳ پارامتر اصلی حلقه for ، فقط تعیین عبارت کنترلی در هنگام تعریف حلقه اجباری بوده و می توان متغیر شمارنده حلقه را قبل از تعریف حلقه مقدار دهی کرد و همچنین گام افزایش یا کاهش را در بدنه دستورات تابع قرار داد . در این صورت می توان جای موارد فوق را در تعریف حلقه خالی گذاشت.

مثال: در مثال زیر یک حلقه ساده در اسکریپت زیر ایجاد شده است . شمارنده این حلقه که متغیری به نام n است با مقدار اولیه ۱ مقدار دهی شده و شرط حلقه کوچکتر یا مساوی بودن شمارنده حلقه از ۵ تعیین شده است . گام افزایش این حلقه نیز ۱+ در نظر گرفته شده است . این حلقه در هر بار اجرا مقدار متغیر n را بر روی صفحه چاپ می کند . به خروجی آن دقت کنید:

مثال ۲: همانطور که گفتیم می توان قسمت پارامترهای مقدار اولیه و گام افزایش یا کاهش را در یک حلقه for خالی گذاشته و مقدار اولیه را قبل از تعریف حلقه و گام حلقه را در درون بلاک کد حلقه تعیین کرد . مثال شماره ۱ را به این صورت نیز می توان نوشت:

نکته و مثال ۳: گام یک حلقه می تواند منفی یا کاهشی نیز باشد . در مثال زیر شمارنده حلقه با هر بار اجرای حلقه یک واحد کاهش می یابد:

یک برنامه کاربردی:

در این قسمت یک برنامه ساده را با جاوا اسکریپت طراحی کرده ایم . این برنامه از طریق ۲ کادر متن ، دو عدد را به عنوان ورودی دریافت کرده و عدد اول را به توان عدد دوم می رساند.

توضیح : در ابتدا یک متغیر به نام sum برای نگهداری جواب را با مقدار اولیه ۱ تعریف می کنیم . سپس مقدار کادر اول در متغیر n و مقدار کادر دوم را در متغیر i ذخیره می کنیم . از عدد دوم به عنوان شمارنده حلقه استفاده شده که با هر بار اجرای حلقه ، عدد اول یکبار در خود ضرب شده و یک واحد از شمارنده حلقه نیز کم می شود ، تا به ۱ برسد . در این حالت اجرای حلقه متوقف شده و نتیجه خروجی بر روی صفحه چاپ می شود:


حلقه while در جاوا اسکریپت:

از حلقه while در جاوا اسکریپت ، برای اجرای دستورالعمل های مورد نظر تا زمانی که شرط یا شروط تعیین شده برای حلقه درست باشند ، استفاده می شود.

در این حالت ، ابتدا شرط حلقه در مقابل کلمه کلیدی while تعریف می شود . در هر بار اجرای حلقه ، برنامه شرط یا شروط حلقه را چک کرده و در صورت بر قرار بودن آن ، دستورالعمل های حلقه را یکبار اجرا کرده و مجددا به ابتدای حلقه باز می گردد.

در حلقه while نیز می توان از یک متغیر برای کنترل اجرای حلقه استفاده کرد . در صورت استفاده از یک متغیر شمارنده ، باید گام افزایش یا کاهش متغیر در بدنه دستورات حلقه تعریف شود و در صورت عدم استفاده از یک متغیر کنترلی ، باید شرط حلقه در ادامه به نحوی نقض شود  وگرنه حلقه به صورت بی نهایت ادامه می یابد.

شکل کلی تعریف یک حلقه while به صورت زیر است:

while   ( شرط یا شروط حلقه )

{

دستوراالعمل های مورد نظر حلقه

}

مثال: مثال اول قسمت آموزش حلقه for را در اینجا با حلقه while باز نویسی کرده ایم . در این حلقه از متغیر n به عنوان متغیر شمارنده و کنترل کننده حلقه استفاده شده است . اجرای حلقه تا زمانی که شرط آن درست است ، ادامه دارد:

مثال ۲: در این مثال برنامه کاربردی که یک عدد را به توان عدد دیگری می رساند را که با حلقه for نوشته بودیم ، را با حلقه while باز نویسی کرده ایم . به تفاوت های این دو ساختار دقت کنید :

حلقه do … while :

ساختار حلقه do … while ، دقیقا همانند حلقه while است ، با این تفاوت که شرط حلقه do … while در انتهای حلقه تعریف و کنترل می شود . به عبارت دیگر در این حلقه ابتدا یکبار دستورات حلقه اجرا شده و در آخر شرط حلقه برای اجرای مجدد ، کنترل می شود که در صورت درست بودن یکبار دیگر دستورات آن خواهد شد.

مزیت این حلقه نسبت به حلقه while این است که ، در حلقه while در صورت عدم برقراری شرط حلقه دستورات آن هیچگاه اجرا نخواه شد . اما در حلقه do … while، حتی در صورت غلط بودن و عدم برقراری شرط حلقه ، دستورات آن حداقل یکبار اجرا خواهد شد.

شکل کلی تعریف یک حلقه do … while به صورت زیر است:

do

{

دستورات حلقه

}

while  ( شرط یا شروط حلقه )

مثال: مثال اول قسمت آموزش حلقه while را در اینجا با حلقه do … while باز نویسی کرده ایم . در این حلقه از متغیر n به عنوان متغیر شمارنده و کنترل کننده حلقه استفاده شده است . اجرای حلقه تا زمانی که شرط آن درست است ، ادامه دارد:

مثال: در مثال زیر یک حلقه do … while تعریف شده که شرط اجرای دستورات آن کوچکتر بودن متغیر c از ۵ است . اما قبل از حلقه متغیر c با مقدار ۸ مقدار دهی شده است . می بینیم که با وجود اشتباه بودن و عدم برقراری شرط حلقه دستورات آن حداقل یکبار اجرا شده و خروجی تولید کرده است ، ولی سری دوم اجرای حلقه به دلیل عدم برقراری شرط آن اجرا نشده است:


حلقه for…in در جاوا اسکریپت:

از حلقه for … in در جاوا اسکریپت ، برای حرکت در درون اعضای یک آرایه یا مجموعه خواص یک شی استفاده می شود . به ازای خواندن هر یک از اعضا آرایه یا یکی از خواص شی مورد نظر ، یکبار دستورات درون حلقه اجرا خواهد شد.

تعداد دفعات تکرار دستورات حلقه ، برابر با تعداد اعضای آرایه و یا تعداد خواص شی مورد نظر است . در این حلقه معمولا از یک متغیر به عنوان شمارنده یا اندیس آرایه استفاده می شود.

شکل کلی تعریف یک حلقه for…in به صورت زیر است:

for   ( متغیر   in   نام یک آرایه / مجموعه خواص یک شی )

{

دستورات بدنه حلقه

}

مثال: در مثال زیر ابتدا یک آرایه به نام Lesson برای نگهداری نام دروس کامپیوتر با ۵ عضو ایجاد و مقدار دهی شده است . وظیفه حلقه for…in حرکت در درون اعضای آرایه Lesson و چاپ نام تک تک آنها به عنوان خروجی است . به کد مثال دقت کنید:

– یک مثال مرتبط با دستور continue و حلقه for…in

مثال: فرض کنید که در مثال بالا فقط می خواهیم نام دروسی از آرایه Lesson چاپ شود ، که شماره اندیس آنها در آرایه زوج باشد . بنابراین در بدنه دستورات حلقه یک دستور continue با این شرط که باقی مانده حاصل از تقسیم شماره اندیس آرایه بر ۲ برابر صفر نباشد را به قبل از دستور چاپ حلقه اضافه می کنیم . در این صورت نام اعضایی از آرایه که شماره اندیس آنها فرد است چاپ نمی شود و حلقه به اندیس بعدی می رود:

حلقه ها در جاوا اسکریپت
به این مطلب رای دهید
Telegram Facebook WhatsApp +Google Twitter LinkedIn

دیدگاه خود را بیان کنید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

This site uses Akismet to reduce spam. Learn how your comment data is processed.