قدمت المقالة السابقة الميراث الجمع ، والآن سنتحدث عن الميراث المتبقي.
النموذج الأولي الميراث
استدعاء وظيفة واستقبل الكائن الذي تم إرجاعه بواسطة هذه الوظيفة. النموذج الأولي لهذا الكائن هو كائن المعلمة الذي تم تمريره إلى الوظيفة.
يحب:
وظيفة personObject (o) {function f () {} f.prototype = o ؛ إرجاع new f () ؛} var person = {name: "nicholas" ، الأصدقاء: ["Shelby" ، "Court" ، "van"]} var person_one = personoBject (person) ؛من الكود أعلاه ، نعلم أن الشخص هو النموذج الأولي لـ Person_one. أضافت ES5 طريقة لتطبيع ميراث النموذج الأولي. هذه الطريقة هي object.create (). هذه الطريقة لها معلمتان. الأول هو كائن كنموذج أولي للكائن الجديد ، مثل الشخص أعلاه ، والثاني هو كائن يحدد سمات إضافية للكائن الجديد. المعلمة الثانية اختيارية.
يحب:
var person_one = object.create (الشخص ، {name: {value: "jon"}}) ؛عندما تريد فقط الاحتفاظ بكائن واحد مشابه لكائن آخر ، يمكنك استخدام ميراث النموذج الأولي.
الميراث الطفيلي
قم بتنفيذ ميراث النموذج الأولي في وظيفة ، ثم إضافة خصائصك وطرقها إلى الكائن المستلم.
يحب:
دالة createAnothOther (o) {var person_one = personObject (o) ؛ person_one.sayhi = function () {Alert ("hi") ؛ } return person_one ؛}الجمع الطفيلي الميراث
الجمع بين الميراث لديه أيضا عيوبها. إنه ينفذ ميراث اثنين من السمة ، وتجنب ميراث الجمع الطفيلي هذه المشكلة. ترث الحالات سمات من خلال المُنشئين ، في حين أن طريقة النموذج الأولي ورث من خلال الميراث الطفيلي.
يحب:
دالة مورث (النوع الفرعي ، superType) {varotype = object (supertype.prototype) ؛ النموذج الأولي. constructor = النوع الفرعي ؛ النموذج الفرعي. النموذج = النموذج الأولي ؛}من خلال استدعاء الوظيفة أعلاه ، يكون النموذج الأولي للنموذج الفرعي. النموذج supertype.prototype ، الذي يكمل ميراث طريقة النموذج الأولي.
تحليل JavaScript أعلاه على الميراث هو كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.