ویژگی تصویر

حلقه do while در JavaScript

  /  جاوا اسکریپت   /  حلقه do while در جاوا اسکریپت
بنر تبلیغاتی الف
جاوااسکریپت - JavaScript

در این بخش به بررسی حلقه do while در جاوا اسکریپت می پردازیم، در دنیای برنامه‌نویسی، یکی از بخش‌های مهم و حیاتی کنترل جریان کد، استفاده از حلقه‌ها (Loops) است. حلقه‌ها به ما این امکان را می‌دهند تا عملیات تکراری را به صورت مؤثر و با حداقل کدنویسی انجام دهیم. از بین انواع حلقه‌هایی که در جاوا اسکریپت وجود دارند، حلقه‌ی do while جایگاه خاصی دارد. این حلقه، به دلیل ماهیت خود که ابتدا عملیات را اجرا کرده و سپس شرط بررسی می‌شود، برای برخی سناریوها بسیار کاربردی است.

حلقه‌های سنتی مانند for و while ممکن است مناسب همه سناریوها نباشند. زمانی که نیاز داریم حداقل یک‌بار یک بلوک از کد اجرا شود و سپس بر اساس شرطی ادامه یابد، حلقه do while انتخاب مناسبی خواهد بود. در این مقاله، با ساختار و عملکرد حلقه do while در جاوا اسکریپت آشنا می‌شویم، کاربردهای آن را بررسی می‌کنیم و با مثال‌هایی از نحوه استفاده آن در برنامه‌های واقعی آشنا می‌شویم.

ساختار حلقه do while

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

ساختار کلی حلقه به صورت زیر است:

do {
    // دستورات قابل اجرا
} while (شرط);
  • do: بلوک کد داخل این بخش حداقل یک بار اجرا می‌شود.
  • while: شرطی که پس از اجرای بلوک کد بررسی می‌شود.
  • اگر شرط برقرار نباشد، اجرای حلقه متوقف خواهد شد.

مثال ساده

تماشا در حالت تمام صفحه

در این مثال:

  1. مقدار اولیه متغیر count برابر با صفر است.
  2. بلوک کد داخل حلقه اجرا می‌شود و مقدار count در هر بار تکرار افزایش می‌یابد.
  3. وقتی مقدار count به 5 می‌رسد، شرط برقرار نیست و حلقه متوقف می‌شود.

تفاوت حلقه do while با while

یکی از تفاوت‌های اصلی بین do while و while در ترتیب اجرا و بررسی شرط است:

  • در حلقه while ابتدا شرط بررسی می‌شود و سپس کد اجرا می‌شود.
  • در حلقه do while ابتدا کد اجرا می‌شود و سپس شرط بررسی می‌شود.

مثال تفاوت:

فرض کنید متغیری با مقدار اولیه‌ای داریم که شرط حلقه را برقرار نمی‌کند.

حلقه while:

تماشا در حالت تمام صفحه

خروجی: هیچ‌چیز چاپ نمی‌شود، زیرا شرط از ابتدا برقرار نیست.

حلقه do while:

تماشا در حالت تمام صفحه

خروجی: عبارت "This will execute once, even if the condition is false" یک‌بار چاپ می‌شود، چون ابتدا کد اجرا شده و سپس شرط بررسی می‌شود.

کاربردهای حلقه do while

حلقه do while در موارد خاصی بسیار مفید است. برخی از این کاربردها عبارتند از:

1. دریافت ورودی از کاربر تا زمانی که شرطی برقرار باشد

گاهی اوقات نیاز داریم از کاربر ورودی دریافت کنیم و تا زمانی که ورودی معتبر نباشد، این فرآیند تکرار شود.

مثال:

تماشا در حالت تمام صفحه

در این مثال:

  • حلقه تا زمانی که کاربر عددی بزرگ‌تر از 10 وارد نکرده باشد، تکرار می‌شود.
  • حتی اگر کاربر از ابتدا شرط را رعایت نکرده باشد، کد حداقل یک بار اجرا می‌شود.

2. پردازش داده‌های غیرقابل پیش‌بینی

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

مثال:

تماشا در حالت تمام صفحه

در این مثال، همه عناصر آرایه چاپ می‌شوند، زیرا تعداد عناصر مشخص نیست و حلقه تا پایان آرایه ادامه دارد.

نکات مهم درباره حلقه do while

  1. اجرا حداقل یک بار: حتی اگر شرط از ابتدا برقرار نباشد، بلوک کد داخل حلقه اجرا خواهد شد.
  2. دقت در شرط حلقه: در صورت اشتباه در شرط، ممکن است حلقه به صورت بی‌نهایت تکرار شود.
    • مثال حلقه بی‌نهایت:
تماشا در حالت تمام صفحه
  1. کاربرد محدود اما مؤثر: این حلقه معمولاً در شرایط خاص که حداقل یک‌بار اجرا تضمین شده باشد، استفاده می‌شود.

بررسی یک مثال پیشرفته

فرض کنید برنامه‌ای داریم که کاربر را تا زمانی که رمز عبور صحیح وارد نکرده باشد، مجبور به تلاش مجدد می‌کند:

مثال:

تماشا در حالت تمام صفحه

توضیحات:

  • حلقه تا زمانی که رمز وارد شده برابر با “12345” نباشد، ادامه پیدا می‌کند.
  • این مثال، کاربرد عملی حلقه do while را در فرآیندهای امنیتی نشان می‌دهد.

حلقه do while یکی از ابزارهای قدرتمند برای کنترل جریان در جاوا اسکریپت است که اجرای حداقل یک‌بار بلوک کد را تضمین می‌کند. این ویژگی، آن را برای سناریوهایی که نیاز به پردازش اولیه یا تعامل با کاربر دارند، بسیار مفید می‌سازد. با یادگیری صحیح این حلقه و درک تفاوت‌های آن با سایر حلقه‌ها، می‌توانید کدهای بهینه‌تر و کارآمدتری بنویسید.

منابع

  1. MDN Web Docs – do…while
  2. JavaScript.info – Loops

آیا این مطلب برای شما مفید بود ؟

خیر
بله
بنر تبلیغاتی ج