جÙ
ÙØ© switch ÙÙ
ÙÙÙØ§ Ø§Ø³ØªØ¨Ø¯Ø§Ù Ø§ÙØ¹Ø¯Ùد Ù
٠جÙ
Ù `if.
تعط٠طرÙÙØ© Ø£ÙØ¶Ù ÙÙ ÙØ§Ø±ÙØ© Ù ØªØºÙØ± Ù ÙØ§Ø¨Ù Ù Ø¬Ù ÙØ¹Ø© ٠٠اÙÙÙÙ .
طرÙÙØ© اÙÙØªØ§Ø¨Ø©
جÙ
ÙØ© switch ØªØØªÙ٠عÙÙ case ÙØ§ØØ¯Ø© Ø£Ù Ø£ÙØ«Ø± ÙØØ§ÙØ© Ø¥ÙØªØ±Ø§Ø¶ÙØ© Ø¥Ø®ØªÙØ§Ø±ÙØ©.
Ù Ø«Ù ÙØ°Ø§:
switch(x) {
case 'value1': // if (x === 'value1')
...
[break]
case 'value2': // if (x === 'value2')
...
[break]
default:
...
[break]
}
- ÙÙÙ
Ø©
xÙØªÙ إختبار تساÙÙÙØ§ ٠ع Ø£ÙÙcase(value1) Ø«Ù ØªØªÙØªÙ٠إÙÙ (value2) ÙÙÙØ°Ø§. - إذا ÙØ¬Ø¯ تساÙ٠تبدأ
switchبتÙÙÙØ° اÙÙÙØ¯ Ø§Ø¨ØªØ¯Ø§Ø¡ÙØ§ Ù Ù ÙØ°Ù اÙcaseØØªÙ Ø£ÙØ±Ø¨break(Ø£Ù ÙÙØ§ÙØ©switch). - إذا ÙÙ
ØªØ·Ø§Ø¨Ù Ø£Ù ØØ§ÙØ© ÙØªÙ
تÙÙÙØ° اÙÙÙØ¯ بداخÙ
defaultإذا ÙØ¬Ø¯Øª.
٠ثاÙ
Ù
ثا٠عÙÙ switch (تÙ
ÙØØ¯ÙØ¯ اÙÙÙØ¯ Ø§ÙØ°Ù سÙÙÙØ°):
let a = 2 + 2;
switch (a) {
case 3:
alert( 'ÙÙÙÙ Ø¬Ø¯ÙØ§' );
break;
case 4:
alert( 'تÙ
اÙ
ÙØ§!' );
break;
case 5:
alert( 'ÙØ«Ùر Ø¬Ø¯ÙØ§' );
break;
default:
alert( "ÙØ§ Ø£Ø¹Ø±Ù ÙØ°Ù اÙÙÙÙ
Ø©" );
}
تبدأ switch بÙ
ÙØ§Ø±ÙØ© ÙÙÙ
Ø© a Ø¨Ø¯Ø§ÙØ©Ù Ù
٠أÙÙ case Ø§ÙØªÙ ÙÙ 3. ÙØ§ تطابÙ.
Ø«Ù
4. ÙÙÙØ§ ÙØØ¯Ø« تطاب٠ÙÙØ¨Ø¯Ø£ Ø§ÙØªÙÙÙØ° Ù
Ù case 4 ØØªÙ Ø£ÙØ±Ø¨ break.
إذا ÙÙ
ÙÙØ¬Ø¯ break ÙØ³ØªÙ
ر تÙÙÙØ° case Ø§ÙØªØ§ÙÙØ© بدÙÙ ÙØØµ Ø§ÙØ´Ø±Ø·.
Ù
ثا٠بدÙÙ break:
let a = 2 + 2;
switch (a) {
case 3:
alert( 'ÙÙÙÙ Ø¬Ø¯ÙØ§' );
case 4:
alert( 'تÙ
اÙ
ÙØ§!' );
case 5:
alert( 'ÙØ«Ùر Ø¬Ø¯ÙØ§' );
default:
alert( "ÙØ§ Ø£Ø¹Ø±Ù ÙØ°Ù اÙÙÙÙ
Ø©" );
}
ÙÙ ÙØ°Ø§ اÙÙ
Ø«Ø§Ù Ø³ÙØªÙ
تÙÙÙØ° Ø«ÙØ§Ø«Ø© Ø£ÙØ§Ù
ر alert:
alert( 'تÙ
اÙ
ÙØ§!' );
alert( 'ÙØ«Ùر Ø¬Ø¯ÙØ§' );
alert( "ÙØ§ Ø£Ø¹Ø±Ù ÙØ°Ù اÙÙÙÙ
Ø©" );
switch/caseØ¥Ù switch Ù case ÙØ³Ù
ØØ§Ù باستخداÙ
Ø§ÙØªØ¹Ø¨Ùرات.
٠ثاÙ:
let a = "1";
let b = 0;
switch (+a) {
case b + 1:
alert("Ø³ÙØªÙ
تÙÙÙØ° ÙØ°Ø§ ÙØ£Ù +a ÙÙ 1 ÙÙØ³Ø§Ù٠تÙ
اÙ
ÙØ§ b+1");
break;
default:
alert("ÙÙ ÙØªÙ
تÙÙÙØ° ÙØ°Ø§");
}
ÙÙØ§ +a تعط٠1 ÙÙØªÙ
Ù
ÙØ§Ø±ÙØªÙØ§ Ù
ع b + 1 ÙÙ case ÙÙÙÙØ° اÙÙÙØ¯.
ØªØ¬Ù ÙØ¹ âcaseâ
ÙÙ
Ù٠تجÙ
ÙØ¹ Ø§ÙØ¹Ø¯Ùد Ù
Ù case Ø§ÙØªÙ تتشار٠ÙÙ ÙÙØ³ Ø§ÙØ£ÙاÙ
ر.
Ù
Ø«ÙÙØ§ إذا Ø£Ø±Ø¯ÙØ§ تÙÙÙØ° ÙÙØ³ Ø§ÙØ£ÙاÙ
ر ÙÙ case 3 Ù case 5:
let a = 3;
switch (a) {
case 4:
alert('صØÙØ!');
break;
case 3: // (*) تجÙ
ÙØ¹ ØØ§ÙتÙÙ
case 5:
alert('خطأ!');
alert("ÙÙ
اذا ÙØ§ تأخذ Ø±ÙØ³ ÙÙ Ø§ÙØ±ÙØ§Ø¶ÙØ§Øª Ø");
break;
default:
alert('اÙÙØªÙجة ØºØ±ÙØ¨Ø© ØÙÙØ§.');
}
Ø§ÙØ¢Ù ÙÙ Ù
Ù 3 Ù 5 ÙØ¸ÙرÙÙ Ø§ÙØ±Ø³Ø§ÙØ©.
Ø¥Ù
ÙØ§ÙÙØ© تجÙ
ÙØ¹ Ø§ÙØØ§ÙØ§Øª ÙÙ ØªØ£Ø«ÙØ± Ø¬Ø§ÙØ¨Ù ÙØ·Ø±ÙÙØ© عÙ
Ù switch/case بدÙÙ break. ÙÙØ§ ÙØ¨Ø¯Ø£ Ø§ÙØªÙÙÙØ° Ù
Ù case 3 ÙÙ Ø§ÙØ³Ø·Ø± (*) ÙÙÙØªÙ٠إÙÙ case 5 ÙØ¹Ø¯Ù
ÙØ¬Ùد break.
Ø§ÙØ£ÙÙØ§Ø¹ Ù ÙÙ Ø©
ع٠ÙÙØ© Ø§ÙØªØ³Ø§ÙÙ Ù٠ع٠ÙÙØ© ØØ§Ø¯Ø© ÙÙØ¬Ø¨ أ٠تÙÙ٠اÙÙÙÙ Ù Ù ÙÙØ³ اÙÙÙØ¹ ÙÙØªÙ Ø§ÙØªØ·Ø§Ø¨Ù.
عÙ٠سبÙ٠اÙ٠ثا٠ÙÙØ£Ø®Ø° Ø§ÙØ¨Ø±Ùا٠ج Ø§ÙØªØ§ÙÙ:
let arg = prompt("Ø£ÙØªØ¨ ÙÙÙ
Ø© Ø");
switch (arg) {
case '0':
case '1':
alert( 'ØµÙØ± Ø£Ù ÙØ§ØØ¯' );
break;
case '2':
alert( 'Ø£Ø«ÙØ§Ù' );
break;
case 3:
alert( 'ÙÙ ÙÙÙØ° Ø£Ø¨Ø¯ÙØ§!' );
break;
default:
alert( 'ÙÙÙ
Ø© ØºÙØ± Ù
عرÙÙØ©' );
}
- إذا أدخÙÙØ§
0,1ÙØªÙ تÙÙÙØ° Ø£ÙÙalert. - إذا أدخÙÙØ§
2ÙØªÙ تÙÙÙØ° ثاÙÙalert. - ÙÙÙ٠إذا أدخÙÙØ§
3تÙÙÙ ÙØªÙجةpromptÙ٠اÙÙØµ"3"Ø§ÙØ°Ù ÙØ§ ÙØ·Ø§Ø¨Ù===Ø§ÙØ±ÙÙ3. ÙØ°ÙÙ ÙÙ ÙØªÙ تÙÙÙØ° Ø§ÙØ£Ùا٠ر ÙÙ ÙØ°Ùcase 3! ÙØ³Ùت٠تÙÙÙØ°default.
Ø§ÙØªØ¹ÙÙÙØ§Øª
<code>Ø ÙÙÙÙØ«Ùر Ù Ù Ø§ÙØ³Ø·Ùر استخدÙ<pre>Ø ÙÙØ£Ùثر Ù Ù 10 Ø³Ø·ÙØ± استخد٠(plnkr, JSBin, codepenâ¦)