اذهب إلى المحتوى
  • 0

مشكلة في for loop في جافاسكريبت

Ahmed Ebrahim11

السؤال

مالفرق بين 

for (i = 0; i =100; i++){
    let me = document.createElement('div');
    console.log(i)
    me.className = 'product';
    let head = document.createElement('h3')
    let para = document.createElement('p')
    let textHead =  document.createTextNode('hello boys');
    let text =  document.createTextNode('hello boys im here for ypur comfort');
    head.append(textHead);
    para.append(text);
    me.append(head,para)
    document.body.append(me)

}

و 

for (i = 0; i<100; i++){
    let me = document.createElement('div');
    console.log(i)
    me.className = 'product';
    let head = document.createElement('h3')
    let para = document.createElement('p')
    let textHead =  document.createTextNode('hello boys');
    let text =  document.createTextNode('hello boys im here for ypur comfort');
    head.append(textHead);
    para.append(text);
    me.append(head,para)
    document.body.append(me)

}

اليس من المفترض ان يتوقف عند 100 ف اول حاله لماذا يكمل ل مالانهاية

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

ذلك لأن i = 100 والتي تعني قم بإسناد 100 إلى المتغير i وسيعيد true دائماً.

بينما ما تحاول انت القيام به هو i !== 100 والذي يعني إذا i لا تساوي 100.

قم بتعديل الشرط ويجب ان تعمل على ما يرام

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 55 دقائق مضت قال عمر قره محمد:

ذلك لأن i = 100 والتي تعني قم بإسناد 100 إلى المتغير i وسيعيد true دائماً.

بينما ما تحاول انت القيام به هو i !== 100 والذي يعني إذا i لا تساوي 100.

قم بتعديل الشرط ويجب ان تعمل على ما يرام

أليس من المفترض أن يزود ل ١٠١ ويتوقف؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 4 دقائق مضت قال Ahmed Ebrahim11:

أليس من المفترض أن يزود ل ١٠١ ويتوقف؟

الجزء الثاني من حلقة for هو للشرط الذي سيتم الإعتماد عليه لتكرار الحلقة، وفي الكود الأول لديك:

for (i = 0; i =100; i++)

ذلك يعني أنك وضعت شرط أن i تساوي 100 وبالتالي لن يتم زيادة i بل ستبقى ثابتة 100 دائمًا ولن يتم زيادتها وسيتم تنفيذ الكود بداخل الحلقة للأبد أي أنت كتبت loop لا نهائية وستؤدي إلى توقف المتصفح عن العمل بسبب إمتلاء الرامات.

أي لا يوجد شرط لتوقف الحلقة.

بينما في الكود الثاني:

for (i = 0; i<100; i++)

وضعت شرط تتوقف عنده الدالة، وسيتم زيادة قيمة i بناءًا على قيمة ذلك الشرط، لأنك لم تحدد قيمة ثابتة لـ i في الجزء الخاص بالشرط كما فعلت سابقًا بل حددت أنه طالما i أصغر من 100 قم بزيادة قيمة i بواحد.

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...