break في JavaScript

من موسوعة حسوب
مراجعة 04:07، 17 يناير 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

التعبير البرمجي break يؤدي إلى إنهاء حلقة التكرار الحالية أو التعبير switch أو label، وستنقل تنفيذ البرنامج إلى التعبير البرمجي الذي يلي التعبير الذي انتهى.

البنية العامة

break [label];

label

مُعرِّفٌ اختياريٌ مرتبطٌ بلافتة التعبير البرمجي، وإذا كان التعبير ليس حلقةً تكراريةً أو switch فسيصبح هذا المُعرِّف مطلوبًا وليس اختياريًا.

الوصف

يتضمن التعبير break إمكانية توفير لافتة اختيارية تسمح للبرنامج بالخروج من التعبير المُسمى؛ ويجب أن يكون التعبير break موجودًا ضمن ذاك التعبير المسمى.

أمثلة

استخدام break مع حلقة while

الدالة الآتية فيها التعبير break الذي يخرج من حلقة التكرار while عندما تكون قيمة المتغير i مساويةً للعدد 3، وعندئذٍ ستُعيد القيمة 3 * x:

function testBreak(x) {
  var i = 0;

  while (i < 6) {
    if (i == 3) {
      break;
    }
    i += 1;
  }

  return i * x;
}

استخدام break مع الأقسام الكتلية

الشيفرة الآتية تستخدم التعبير break للخروج من الأقسام الكتلية المسماة، لاحظ أنَّ التعبير break يجب أن يكون موجودًا ضمن القسم المسمى الذي يُشير إليها، ولاحظ أنَّ القسم الكتلي inner_block موجودٌ ضمن القسم outer_block.

outer_block: {
  inner_block: {
    console.log('1');
    break outer_block; // الخروج من القسمين الكتليين
    console.log(':-('); // لن تُنفَّذ
  }
  console.log('2'); // لن تُنفَّذ
}

المثال الآتي يستخدم تعبير break مع أقسام كتلية مسماة، لكنه سيولد خطأً لأنَّ التعبير break موجودٌ ضمن القسم block_1 لكنه يُشير إلى القسم block_2؛ تذكَّر أنَّ تعبير break يجب أن يشير دومًا إلى قسمٍ يكون محتوىً فيه:

block_1: {
  console.log('1');
  break block_2; // SyntaxError: label not found
}

block_2: {
  console.log('2');
}

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي نعم نعم نعم نعم نعم

مصادر ومواصفات