أصل الأشياء في JavaScript
جميع أجسام JavaScript يستفيدون من التوريث الأصلي للحصول على الخصائص والطرق.
في الفصل السابق، تعلمنا كيفية استخدامبناء الجسم:
مثال
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } var myFather = new Person("Bill", "Gates", 62, "blue"); var myMother = new Person("Steve", "Jobs", 56, "green");
لقد أدركنا، أنتلا يمكنإضافة خاصية جديدة إلى بناء الجسم الموجود:
مثال
Person.nationality = "English";
إذا كنت بحاجة إلى إضافة خاصية جديدة إلى بناء الجسم، يجب عليك إضافتها إلى دالة بناء الجسم:
مثال
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; this.nationality = "English"; }
التوريث الأصلي
جميع أجسام JavaScript يستفيدون من التوريث الأصلي للحصول على الخصائص والطرق.
جسم التاريخ يرث من Date.prototype. جسم المجموعة يرث من Array.prototype. جسم Person يرث من Person.prototype.
Object.prototype يقع في أعلى سلسلة التوريث الأصلي:
جسم التاريخ، جسم المجموعة، وجسم Person ينتمي إلى Object.prototype.
إضافة خصائص وطرق إلى الجسم
في بعض الأحيان، قد ترغب في إضافة خصائص جديدة (أو طرق) إلى جميع الأجسام الحالية من النوع المحدد.
في بعض الأحيان، قد ترغب في إضافة خصائص جديدة (أو طرق) للمؤسس (constructor) للعناصر.
الاستخدام prototype
الخصائص
يسمح لك prototype الخاص بـ JavaScript أيضًا بإضافة خصائص جديدة للمؤسس (constructor):
مثال
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } Person.prototype.nationality = "English";
يسمح لك أيضًا بتحديد طرق جديدة للمؤسس (constructor) للعناصر في prototype JavaScript:
مثال
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; };
الرجاء عدم تعديلبأيديكمالنموذج. لا تقم أبداً بتعديل نموذج JavaScript القياسي.