نحوه استفاده از حلقه while در جاوا اسکریپت

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

نحوه استفاده

ساختار کلی حلقه while به شکل زیر می باشد.

while(condition)
{
	statements;
}

ساختار while با حلقه for متفاوت می باشد و درون پرانتز مربوط به آن تنها شرط حلقه ذکر می شود و تا درست بودن این شرط دستورات درون آن اجرا می گردند.

سوال: حلقه زیر چند بار تکرار می شود؟

var a = 1;
while(a < 5)
{
	document.write("hello");
}

پاسخ: در حلقه while شمارنده ای وجود ندارد و از آنجا که مقدار متغیر a  در مثال فوق تغییری نمی کند، هیچگاه شرط حلقه false نمی شود و این برنامه در یک loop بی نهایت قرار می گیرد که ممکن است حتی موجب هنگ شدن سیستم و پر شدن رم کامپیوتر شود.

تمرین: برنامه ای بنویسید که عددی را دریافت کرده و معکوس آن را نمایش دهد.

تحلیل: برای آنکه بتوان عملیاتی مانند چاپ معکوس، محاسبه تعداد ارقام و ... بر روی اعداد انجام داد ابتدا می بایست آنها را تقسیم بر 10 کنیم. هنگامی که عددی تقسیم بر 10 شود، باقی مانده بیانگر رقم آخر و خارج قسمت بیانگر عدد بدون رقم آخر خواهد بود.

235 / 10 = 25
253 % 10 = 3

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

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

<script>
  var num;
  
  num =  parseInt(prompt("لطفا یک عدد را وارد نمایید."));
  while(num > 0)
  {
      document.write(num % 10);
      num = parseInt(num / 10);
  }
</script>

در برنامه فوق دستور زیر تنها رقم آخر را چاپ می کند و رقمی را حذف نمی کند.

document.write(number % 10);

و خط بعدی آن باعث حذف رقم آخر می گردد.

num = parseInt(num / 10);

در صورتیکه این صفحه را ذخیره و اجرا نمایید با ورود عدد 253، عدد 352 که معکوس آن می باشد نمایش داده خواهد شد.