Vida
3 سال پیش توسط Vida مطرح شد
13 پاسخ

دلیل بوجود آمدن حلقه ی بی نهایت while true در جاوا اسکریپت

سلام دوستان
توی کد

var i = 10;
while (true) {
   console.log(i);
   i--
}

با اینکه متغیر تعریف شده ولی چه اتفاقی میوفته که این حلقه تا بی نهایت ادامه پیدا میکنه؟
دلیلش رو نمیفهمم که چرا باید همچین اتفاقی بیوفته!
این شرط همیشه صحیح هست ولی اون متغیر کاری انجام نمیده این وسط؟


ثبت پرسش جدید
امیر علی
تخصص : طراح و توسعه دهنده fullstack
@ajdar9667 3 سال پیش آپدیت شد
0

نگاه کن داخل حلقه while تا اون عبارتی که داخل پرانتز روبروی while نوشتی false نشه این حلقه ادامه داره و شما اونجا نوشتی true خب هیچ وقت فالز نمیشه برا همین تا بی نهایت میره!


امیر علی
تخصص : طراح و توسعه دهنده fullstack
@ajdar9667 3 سال پیش آپدیت شد
0

این میتونه یک حلقه باشه که پایان میپذیره :

var i = 10;
while (i>3) {
   console.log(i);
   i--
}

همونطور که اینجا میبینی وقتی متغیر i کمتر از سه بشه دیگه حلقه ادامه پیدا نمیکنه چون شرط بزرگتر از 3 بودن برای متغیر i فالز میشه


Vida
@vida 3 سال پیش مطرح شد
0

@ajdar9667
در این صورت این کد از عدد 10 شروع میکنه و تا منفی بینهایت ادامه پیدا میکنه. درسته؟


امیر علی
تخصص : طراح و توسعه دهنده fullstack
@ajdar9667 3 سال پیش مطرح شد
1

اون کدی که شما نوشتین بله


Vida
@vida 3 سال پیش مطرح شد
1

@ajdar۹۶۶۷
خیلی ممنونم از کمکتون
خیلی گیج شده بودم!


امیر علی
تخصص : طراح و توسعه دهنده fullstack
@ajdar9667 3 سال پیش مطرح شد
-1

خواهش میکنم اگر به پاسختون رسیدین پاسخ برتر رو انتخاب کنین


عرفان محسنی
تخصص : back-End developer
@erfanmohseni406 3 سال پیش مطرح شد
-1

@abdolrahman
درود بر تو به نکته خیلی ظریفی اشاره کردی
من این رو گذاشتم که دوستانی دیگه بیخود و بی جهت دوباره نیان نیم ساعت وقت بزارن ی جواب بزارن
پاسخ برتر رو هم گرفته جواب و دیگه نیازی به پیام جدید نیست


:)
تخصص : اندروید - تازه کار
@ERR 3 سال پیش مطرح شد
2

@erfanmohseni406
درود برشما
بهتر بود ابتدا نام کاربری ایشون که میخواهید ریپلای کنید رو بنویسد
چون من نیز در ابتدا متوجه نشدم که پیامتون که در جواب ajdar9667 و فکر کردم پیام اضافی گذاشتید


عرفان محسنی
تخصص : back-End developer
@erfanmohseni406 3 سال پیش مطرح شد
0

@ERR
نه خوب شما اگر جمله بندی رو ی نگاه بندازی بعد بری بالا ی نگاه دوباره هم بندازی میبینی که چه کسی مسئله رو برای دوستمون حل کرد
@ajdar9667 برای همین هم جمله بندی درست هست مشکلی نداره


علیرضا کفایتی
تخصص : برنامه نویس laravel, vue.js
@alirezakefayati 3 سال پیش مطرح شد
2

گرچه سوال تمام شده و پاسخ برتر هم انتخاب شده ولی این توضیحات میتونه کمکتون کنه :‌
در حقیقت حلقه while داره داخل پرانتز true و یا false رو میگیره ، و تمام عملگر های شرطی مثل == , >= , <= ووو... دارند همین true , false رو بر می گردونند .


علیرضا کفایتی
تخصص : برنامه نویس laravel, vue.js
@alirezakefayati 3 سال پیش مطرح شد
0

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


عرفان محسنی
تخصص : back-End developer
@erfanmohseni406 3 سال پیش مطرح شد
0

@gomnam
نه خوب بعضی از پیام ها رو هم من نگاه میکردم لینک های مفیدی رو میزارشت ولی به این سرعت فضایی طور بری بالا رو خیلی تعجب کردم نگاه کردم دیدم 20هزار شده


Vida
@vida 3 سال پیش مطرح شد
2

@gomnam
سلام خیلی خیلی از شما ممنونم بابت توضیحی که نوشتین و کمک کننده هست واسم
من چون تازه یاد گرفته بودم خیلی واسم نامفهوم بود
به نظرم این توضیحات خیلی عالی هستن صرف نظر از امتیازی که سایت گذاشته که هر از گاهی بحث کلا حول محور امتیاز هست حالا به هر نحوی که شده!(متاسفانه) و بعدش حس کردم کلا دوستان راهنمایی نمیکنن مگر اینکه امتیازی دربرداشته باشه!
اما ممنون از راهنماییتون دوست عزیز
برقرار باشید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام