break
في JavaScript
التعبير البرمجي 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 |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 3rd Edition.
- معيار ECMAScript 1st Edition .