🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ hamid
سوال while
جامعه جاوا اسکریپت ایجاد شده در ۳۱ تیر ۱۴۰۲

با سلام وقتی از =+ استفاده شد و کلمه hello ده بار چاپ کردیم اگه ما از مساوی استفاده کنیم یکبار چاپ میشود من منطقش درست متوجه نشدم .چرا بدون نوشتن + حلقه فقط یکبار اجرا میشه ؟مگه ما از --i استفاده نمیکنیم که هر بار یکی کم کنه و تا وقتی بزرگتر از عدد ناصحیح صفر بود حلقه اجرا شود.

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

         var i=10;
        while (i) {document.getElementById('demo').innerHTML+='
hello
';
            i--;
        }
-------------------------------------------------------------------------
     var pass;
            for (var i =0 ;i<5;i++) {
                pass=prompt("what's your password?");
                if(pass=='12345'){
                    break;
                }

سلام،

  • حلقه 10 بار اجرا میشود ولی وقتی = میگذارید محتوای hello هر بار جایگزین محتوای قبلی (یعنی hello قبلی) میشود. ولی وقتی += میگذارید هربار که حلقه اجرا میشود hello جدید به محتوای قبلی (هرچنتا hello که باشد) اضافه میشود. به شکل زیر میشود:
''
'' + 'hello ' => 'hello '
'hello ' + 'hello ' => 'hello hello '
'hello hello ' + 'hello ' => 'hello hello hello '
+ ...
  • در مورد += هم یک مثال بیارم که چه معنی داره:
var demo = 'hello'
demo += ' world' ==> demo = demo + ' world' ==> demo = 'hello' + ' world'
  • تعریف متغیر باید یکبار انجام بشه. نیاز نیست چندبار تعریف بشه. متغیر یکبار تعریف میشه و دفعات بعدی میتواند مقدارش تغییر کند مانند مثال‌های بالا.
بهترین پاسخ
محسن موحد ۳۱ تیر ۱۴۰۲، ۲۱:۰۳