if-else تختار بين طريقين فقط. لكن كثيرًا من القرارات لها أكثر من احتمال: الجائزة الأولى، أو الثانية، أو الثالثة، أو جائزة ترضية. هنا نستخدم else if لنضيف شرطًا جديدًا يُختبر فقط إذا لم يتحقّق ما قبله.
let num = 2;
if (num == 1) {
console.log("New bicycle");
} else if (num == 2) {
console.log("Pair of tickets to the aquarium");
} else if (num == 3) {
console.log("10 bags of potato chips");
} else {
console.log("Stickers");
}Pair of tickets to the aquarium
البرنامج يختبر الشروط من أعلى لأسفل. عند أول شرط صحيح ينفّذ أوامره ثم يتخطّى باقي السلسلة كلها. وإذا لم يتحقّق أي شرط تُنفَّذ else الأخيرة، وهي اختيارية.
let people = 3;
if (people == 2) {
console.log("10% off");
} else if (people >= 3) {
console.log("20% off");
} else {
console.log("retail price");
}20% off
let egg = 0;
if (egg <= 10) {
console.log("Less than or equal to 10");
} else if (egg <= 5) {
console.log("Less than or equal to 5");
} else if (egg <= 3) {
console.log("Less than or equal to 3");
}Less than or equal to 10
القاعدة: ابدأ بالشرط الأضيق. في تقدير الدرجات نبدأ بأعلى حد، فكل else if تعرف أن الدرجة أقل من الحدود التي قبلها:
let score = 77;
if (score >= 90) {
console.log("Excellent");
} else if (score >= 75) {
console.log("Very good");
} else if (score >= 50) {
console.log("Pass");
} else {
console.log("Fail");
}Very good
ويمكن استخدام && و|| داخل أي شرط في السلسلة:
let numberOfPeople = 1;
let fee = 3500;
if (numberOfPeople >= 2 && fee >= 3000) {
console.log("Free mug");
} else if (numberOfPeople >= 2 || fee >= 3000) {
console.log("Complimentary cookie");
}Complimentary cookie
else if كلمتان بينهما مسافة (elseif خطأ)، ولكل else if شرط بين قوسين. أما else الأخيرة فبلا شرط، ولا يأتي بعدها else if.تدريبات
أضف إلى السلسلة شرطًا ثالثًا: وإلا، إذا كانت قيمة num تساوي 3 اطبع 10 bags of potato chips.
let num = 3;
if (num == 1) {
console.log("New bicycle");
} else if (num == 2) {
console.log("Pair of tickets to the aquarium");
}اضغط «تشغيل» لترى النتيجة. أكمل الفراغ: إذا لم تكن قيمة egg تساوي 0، وكانت أصغر من أو تساوي 3، يُطبع I'm almost out of eggs.
let egg = 2;
if (egg == 0) {
console.log("I have to go buy more eggs");
} ___ {
console.log("I'm almost out of eggs");
} else {
console.log("I still have eggs");
}اضغط «تشغيل» لترى النتيجة. أكمل الفراغات: إذا كانت num أصغر من أو تساوي 3 يُطبع A، وإلا إذا كانت أكبر من أو تساوي 6 يُطبع B، وإلا يُطبع C.
let num = 4;
if (___) {
console.log("A");
} else if (___) {
console.log("B");
} ___ {
console.log("C");
}اضغط «تشغيل» لترى النتيجة. أعلن المتغير test وأسند له 77. إذا كان يساوي 100 اطبع Perfect score، وإلا إذا كان أكبر من أو يساوي 75 اطبع Pass، وإلا اطبع Make-up exam.
اضغط «تشغيل» لترى النتيجة. البرنامج لا يطبع شيئًا. أضف else if: إذا كان عدد الأشخاص 2 أو أكثر أو الرسوم 3000 أو أكثر اطبع Complimentary cookie.
let numberOfPeople = 1;
let fee = 3500;
if (numberOfPeople >= 2 && fee >= 3000) {
console.log("Free mug");
}اضغط «تشغيل» لترى النتيجة. أعلن المتغير temperature وأسند له 38. إذا كانت 35 أو أكثر اطبع Very hot, drink water، وإلا إذا كانت 25 أو أكثر اطبع Warm، وإلا إذا كانت 15 أو أكثر اطبع Mild، وإلا اطبع Cold.
اضغط «تشغيل» لترى النتيجة. سعر تذكرة المتحف حسب العمر: أقل من 4 سنوات Free، ومن 4 إلى 12 Child ticket: 20 pounds، و60 أو أكثر Senior ticket: 25 pounds، وغير ذلك Adult ticket: 40 pounds. أعلن age = 10 واطبع التذكرة المناسبة.
تلميح
إذا وصلنا إلىelse if (age <= 12) فنحن نعرف أن العمر ليس أقل من 4.اضغط «تشغيل» لترى النتيجة. النقاط الرئيسية
else if (شرط)تختبر شرطًا جديدًا فقط إذا لم يتحقّق ما قبله.- يُنفَّذ أول شرط صحيح فقط ويُتخطّى الباقي، لذلك ابدأ بالشرط الأضيق.
elseالأخيرة اختيارية وبلا شرط، وتُنفَّذ عندما لا يتحقّق أي شرط.