آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش نمونه های اولیه شی درجاوا اسکریپت-object prototype

دوره های مرتبط با این مقاله

نمونه های اولیه ی شی (object prototype)

هر شی ای که در جاوا اسکریپت با آن سر و کار داریم، یک نمونه ی اولیه (prototype) دارد.
Prototype، یک خاصیت متعلق به تمامی اشیا جاوا اسکریپت است که اشیا قادراند از طریق آن قابلیت های جدیدی به ارث ببرند.
در واقع کلیه ی اشیا جاوا اسکریپت، خاصیت ها و متدهای خود را از نمونه ی اولیه خود به ارث می برند.

Prototype های جاوا اسکریپت

همان طور که پیش تر شرح دادیم، تمامی اشیا جاوا اسکریپت خاصیت ها و توابع خود را از نمونه ی اولیه ی خود به ارث می گیرند.
اشیایی که با استفاده از object literal ها و یا توسط تابع ()new Object ایجاد می شوند، در واقع دارند از یک نمونه ی اولیه به نام Object.prototype خاصیت ها و توابع خود را به ارث می گیرند.
اشیایی که به وسیله ی تابع ()new Date ایجاد شده اند، Date.prototype را به ارث می برند.
Object.prototype در بالاترین مرتبه زنجیره ی متشکل از نمونه های اولیه قرار می گیرد.
تمامی اشیا جاوا اسکریپت (اعم از Date،Array ،RegExp ، Function و غیره ... .) خواص و متدهای خود را از Object.prototype به ارث می برند.
نحوه ی ایجاد نمونه ی اولیه
شیوه ی متداول و استاندارد ایجاد نمونه ی اولیه شی (object prototype)، استفاده از یک object constructor function (استفاده از یک تابع به عنوان سازنده) است.

مثال:
function person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}

در این روش می توان به کمک کلیدواژه ی new، از نمونه ی اولیه یکسان اشیا (چندین شی متعدد) جدید ایجاد کرد:

نمونه یک

  
امتحان کنید

constructor function، نمونه ی اولیه برای شی person است.

افزودن خواص و توابع جدید به اشیا

گاهی شما نیاز دارید property (خواص) یا method های (توابع) جدیدی به شی موجود یا اشیا موجود از نوع خاص و یا نمونه ی اولیه ی یک شی اضافه کنید. نحوه ی افزودن خاصیت جدید به تمامی موارد نام برده ر ا زیر برای شما شرح می دهیم:

افزودن خاصیت جدید به شی موجود:

اضافه کردن property جدید به شی موجود بسیار آسان می باشد. برای یادگیری روش آن کافی است به مثال زیر دقت کنید:

نمونه دو

   
امتحان کنید

همان طور که مشاهده می کنید، خاصیت جدید به شی myFather اضافه می شود (و نه به شی myMother و یا هر شی دیگر ).

افزودن متد جدید به یک شی موجود:

نمونه سه

    
امتحان کنید

متد مورد نظر به شی myFather اضافه می شود و نه به شی myMother.

افزودن خاصیت های جدید به یک نمونه ی اولیه:

نمی توان به همان شیوه ای که یک property جدید را به شی موجود ضمیمه می کردیم، یک خاصیت جدید به نمونه ی اولیه (prototype) اضافه کنید زیرا که نمونه ی اولیه یک شی موجود محسوب نمی شود.

مثال:

نمونه چهار

امتحان کنید

به منظور افزودن خاصیت جدید به یک سازنده (constructor)، باید آن را به تابع سازنده (تابعی که به عنوان سازنده استفاده می شود) اضافه کنید:

نمونه پنج

    
امتحان کنید

property های نمونه ی اولیه، می توانند مقدار داشته باشند (مقادیر پیش فرض).

نمونه شش

 
امتحان کنید

بکار بردن خاصیت prototype

خاصیت prototype به شما این امکان را می دهد که خواص جدید به یک نمونه ی اولیه ی موجود اضافه کنید:

نمونه هفت

    
امتحان کنید

خاصیت مذکور همچنین به شما اجازه می دهد، متدهای جدید به نمونه ی اولیه ی موجود اضافه کنید:

نمونه هشت

    
امتحان کنید
توجه:

هیچگاه نمونه های اولیه ی اشیا استاندارد جاوا اسکریپت را اصلاح یا modify نکنید. در صورت نیاز سعی کنید، فقط و فقط نمونه های اولیه ای که خود ایجاد کرده اید را دستکاری کنید.


مشاهده فیلم آموزشی

کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده بوده و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.

  • 1936
  •    1516
  • تاریخ ارسال :   1394/08/11

دانلود PDF دانلود سورس کد دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .