كل كائن جافا سكريبت لديه النموذج. النموذج هو أيضا كائن.
كل كائنات جافا سكريبت ترث خصائص وأساليبها من النموذج الخاصة بهم.
جافا سكريبت نماذج
كل كائنات جافا سكريبت ترث الخصائص والأساليب من النموذج الخاصة بهم.
خلقت الكائنات باستخدام كائن الحرفي، أو مع new Object() ، ترث من نموذج يسمى Object.prototype.
الكائنات التي تم إنشاؤها مع new Date() ترث Date.prototype.
وObject.prototype على الجزء العلوي من سلسلة النموذج.
كل كائنات جافا سكريبت (Date, Array, RegExp, Function, ....) ترث من Object.prototype .
إنشاء نموذج
الطريقة القياسية لخلق نموذج كائن لاستخدام وظيفة الكائن منشئ:
مثال
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
مع وظيفة البناء، ويمكن استخدام لكم new الكلمة لإنشاء كائنات جديدة من نفس النموذج:
مثال
var myFather = new Person("John", "Doe", 50, "blue");
var myMother = new Person("Sally", "Rally", 48, "green");
انها محاولة لنفسك » وظيفة منشئ هو النموذج الأولي لل Person الكائنات.
يعتبر من الممارسات الجيدة لوظيفة اسم منشئ مع خطاب العليا القضية الأولى.
إضافة خصائص وأساليب إلى كائنات
في بعض الأحيان كنت ترغب في إضافة خصائص جديدة (أو أساليب) لكائن موجود.
في بعض الأحيان كنت ترغب في إضافة خصائص جديدة (أو الطرق) لجميع الكائنات الموجودة من نوع معين.
في بعض الأحيان كنت ترغب في إضافة خصائص جديدة (أو الطرق) إلى نموذج كائن.
إضافة خاصية إلى كائن
إضافة خاصية جديدة إلى كائن موجود غير سهلة:
سيتم إضافة الخاصية إلى myFather . لا myMother . لا أي أجسام شخص آخر.
إضافة أسلوب إلى كائن
إضافة طريقة جديدة لكائن موجود هو أيضا من السهل:
مثال
myFather.name = function () {
return this.firstName + " " + this.lastName;
};
انها محاولة لنفسك » سيتم إضافة طريقة ل myFather . لا myMother .
إضافة خصائص لنموذج
لا يمكنك إضافة خاصية جديدة إلى النموذج بنفس الطريقة التي قمت بإضافة خاصية جديدة إلى كائن موجود، لأن النموذج ليس كائن موجود.
لإضافة خاصية جديدة إلى منشئ، يجب إضافته إلى وظيفة المنشئ:
مثال
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.nationality = "English"
}
انها محاولة لنفسك » خصائص النموذج يمكن أن يكون القيم النموذجية (القيم الافتراضية).
مضيفا طرق لنموذج
وظيفة البناء الخاص بك ويمكن أيضا تحديد طرق:
مثال
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.name = function() {return this.firstName + " " + this.lastName;};
}
انها محاولة لنفسك » باستخدام prototype الملكية
جافا سكريبت prototype الخاصية تسمح لك لإضافة خصائص جديدة إلى النموذج الحالي:
مثال
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";
انها محاولة لنفسك » كما يتيح خاصية النموذج جافا سكريبت لك لإضافة أساليب جديدة إلى النموذج الحالي:
مثال
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Person.prototype.name = function() {
return this.firstName + " " + this.lastName;
};
انها محاولة لنفسك » فقط تعديل النماذج الخاصة بك. لا تعديل نماذج من كائنات جافا سكريبت القياسية.