تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ Amin_red
جواب حله مسئله
جامعه جاوا اسکریپت ایجاد شده در ۱۵ مرداد ۱۴۰۲

اینم جواب مسئله که گفتین اجرا گرفتم همش اجرا شد

var name=prompt("whos there?");
if(name=="other"){
    alert("idont now");
}if(name=="cancle"){
    alert("cancled");
}if (name=="Admin"){
    var password=prompt("password?");
    if (password=="themaster"){
        alert("wellcome to 7learn");
    }
    if(password=="other"){
        alert("wrong password");
    }
    else if (password=="cancle"){
        alert("cncled");
    }
}

سلام،

میتونستن if‌ها دومی و سومی else if باشند چون بهم مربوط هستند و داخل if سوم هم if دوم else if شود.

محسن موحد ۱۵ مرداد ۱۴۰۲، ۱۶:۵۳

اتفاقا من زیاد esle if را نتونستم زیاد درک کنم فرق بین if و else if چیه؟ دوتاشون که یکار انجام میدن!!

Amin_red ۱۵ مرداد ۱۴۰۲، ۱۹:۰۶

بله جفتشون یک کار انجام میدن ولی،

در if/else if اتفاقی که میوفته اولین if که شرطش true باشه و تطبیق داده بشه، دیگه else if‌های دیگر چک نمیشه.

اما اگر فرض کنید پنج if پشت سرهم داشته باشید، هر پنج if چک میشود و ممکنه در جایی منطق برنامه تون جوری باشه که باید یک if فقط اجرا بشه ولی اگر بصورت else if نباشه ممکنه چند شرط true باشد و چند if اجرا شود.

این مثال رو ببینید:

let num = 5;
if (num < 10) {
  console.log("Number is less than 10");
}
if (num < 20) {
  console.log("Number is less than 20");
}

در این مثال از روی شرط هم میتوان متوجه شد که بهم مرتبط هستند و یک شرط باید اجرا شود.(با توجه به منطقی که برنامه نویس در ذهن دارد)

شرط اول چک میکند "اگر 5<10 بود" متنی در کنسول چاپ شود. در ادامه مجدداً if دیگری وجود دارد که چک میکند "اگر 5<20 بود" متنی در کنسول چاپ شود.

درصورتی که اگر if اول اجرا شد، اولویت به این شکل است که if بعدی نباید اجرا میشده پس به این شکل غلط خواهد بود.

خروجی کد بالا:

Number is less than 10
Number is less than 20

کد بالا درستش اینست که به شکل زیر نوشته شود:

let num = 5;
if (num < 10) {
  console.log("Number is less than 10");
} else if (num < 20) {
  console.log("Number is less than 20");
}

حالا خروجی بدرستی نشان داده میشود:

Number is less than 10

شرط اول چک میکند "اگر 5<10 بود" متنی در کنسول چاپ شود، در ادامه کد،

"در غیراینصورت اگر(else if) 5<20 بود" متنی در کنسول چاپ شود. توجه کنید که else if میگه در غیر اینصورت اگر، یعنی اگر قبلی درست نبود.

بهترین پاسخ
محسن موحد ۱۵ مرداد ۱۴۰۲، ۲۱:۳۱