تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Amin_red
سوال در مور د تابع
جامعه جاوا اسکریپت ایجاد شده در ۰۱ شهریور ۱۴۰۲
var Competition;
var name=prompt("نام و نام خانوادگی را وارد کنید");
var codemeli=prompt("کد ملی را وارد کنید..");
var age=prompt("سن خود را وارد کنید..");
if (age>=12 && age<=14){
    Competition=function (){
        alert(" شما در رده 12 تا 14 سال با موفقیت ثبت نام شدید"  + name + " " + "عزیز")
    }
}
 else if(age>=15 && age<=17){
    Competition=function (){
        alert(" شما در رده 15 تا 17 سال با موفقیت ثبت نام شدید"  + name + " " + "عزیز")
    }
}
 else if(age>=18 && age<=30){
    Competition=function (){
        alert(" شما در رده 18 تا 30 سال با موفقیت ثبت نام شدید"  + name + " " + "عزیز")
    }
}else {
    alert("فعلا در رده سنی شما ثبت نامی نداریم")
}
Competition();

من این برنامه را نوشتم برای مثال توابع بررسی کنید ببینید درسته؟

سلام،

کدی که نوشتید بطور کلی مشکلی ندارد.

جهت بهبود کد چند توصیه اضافه میکنم:

  1. برای اینکه داخل رشته‌ها از متغیر استفاده کنید میتوانید از template strings بهره ببرید. (یعنی از بک تیک ``) خوانایی کد بالاتر میرود.
  2. وردی‌های کاربر را بررسی کنید.(validate) برای مثال ورودی سن باید عددی باشد که در کد زیر از parseInt استفاده میکنم.
  3. برای نام گذاری متغیرها و توابع از اسامی معنا دار استفاده شود تا برای دیگران خوانا‌تر باشد.
  4. بجای var از let استفاده کنید. مگر بخواهید از مزایای var بهره ببرید.
let registerForCompetition;
let fullName = prompt("نام و نام خانوادگی را وارد کنید");
let nationalCode = prompt("کد ملی را وارد کنید..");
let userAge = parseInt(prompt("سن خود را وارد کنید.."), 10); 
if (isNaN(userAge)) {
    alert("لطفاً یک عدد معتبر برای سن وارد کنید.");
} else if (userAge >= 12 && userAge <= 14) {
    registerForCompetition = function() {
        alert(`شما در رده 12 تا 14 سال با موفقیت ثبت نام شدید، ${fullName} عزیز`);
    }
} else if (userAge >= 15 && userAge <= 17) {
    registerForCompetition = function() {
        alert(`شما در رده 15 تا 17 سال با موفقیت ثبت نام شدید، ${fullName} عزیز`);
    }
} else if (userAge >= 18 && userAge <= 30) {
    registerForCompetition = function() {
        alert(`شما در رده 18 تا 30 سال با موفقیت ثبت نام شدید، ${fullName} عزیز`);
    }
} else {
    alert("فعلا در رده سنی شما ثبت نامی نداریم");
}
registerForCompetition();


البته میتوانستید کل این کدها در تابع بیاید جای اینکه داخل if‌ها تابع تولید شود.

محسن موحد ۰۱ شهریور ۱۴۰۲، ۱۳:۳۰