💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ سلیمی
یک روش دیگه
محسن موحد حل شده توسط محسن موحد
var users = prompt('how are you');
var password =prompt('please enter password');
if (users == "admin" && password == 1234){
password
alert('login')
}
else if (users != "admin" || password !== 1234){
alert('The username or password is incorrect')
}
//// ternery block
(users == "admin") ?
password = prompt('please enter password') : alert ('userName incorrect');
(password == 1234) ? alert(' Login was successful') : alert('password incorrect')
// // swuitch block
// var password = prompt('please enter password');
switch(true){
case (users !== "admin" || password !== "1234" ) :
alert("The username or password is incorrect");
break;
case (password == "1234") :
alert("login");
break;
}
 var password = prompt('please enter password');
switch(true){
    case (users !== "admin" || password !== "1234" ) :
        alert("The username or password is incorrect");
        break;
    case (users == "admin"  || password == "1234") :
            alert("login");
            break;
}
سلیمی ۰۳ آذر ۱۴۰۲، ۲۰:۳۹

سلام،

بسیار عالی. چند نکته کلی برای ذهنیت پیدا کردن می‌آورم:

با توجه به کد ارائه شده، چند نکته را می‌توان در مورد بهینگی آن مطرح کرد:

1. استفاده از prompt برای دریافت رمز عبور امن نیست و باید از روش‌های امن‌تری مثل  input type="password" استفاده شود. (البته اینجا میدانیم طبق تمرین انجام شده است.)

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

3. تکرار if else و مقایسه با ثابت‌ها، بهینه نیست. می‌توان از switch case یا سایر روش‌ها استفاده کرد.

4. بهتر است بلوک‌های تکراری مثل if else و switch case در یک تابع جدا قرار بگیرند تا کد خواناتر شود.

5. استفاده از strict comparison (===) به جای == بهتر است تا از تبدیل ضمنی اجتناب شود.

در مجموع استفاده از توابع، اجتناب از تکرار و الگوهای برنامه‌نویسی تابعی می‌تواند به بهینه‌سازی کد کمک کند.

6. به جای استفاده از var، از const یا let استفاده کنید. این بهتر است زیرا var متغیر را به عنوان یک متغیر جهانی تعریف می‌کند که ممکن است به مشکلات دیگر منجر شود.

7. استفاده از else بجای else if در نمونه کد اول.

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

محسن جان،خیلی ممنون راهنمایی شما،،اینکه چه زمانی باید از سویچ‌ها استفاده کنم،سوالی بزرگی بود برام

سلیمی ۰۴ آذر ۱۴۰۲، ۰۵:۰۶
var users = prompt("Who are you?");
    var passwords = prompt("Please enter your password");
    if(users === "admin" && passwords === "1234"){
        alert("welcome sir")
    }else{
        alert("your username or password is not true")
        }
ماهان شاه بیگی ۲۲ بهمن ۱۴۰۲، ۱۲:۵۶