نسخ رمز رمز على النحو التالي:
<MCE: script type = "text/javaScript"> <!-
/*
يحتوي كل مثيل كائن على نموذج أولي (النموذج الأولي) يتم استخدام أعضاء السمة للإشارة إلى كائن مثيله (يسمى مؤقتًا الكائن الأصل)
نشير إلى العلاقة بين النموذج الأولي للأب على أنها [سلسلة النموذج الأولي Chian]
يحتوي النموذج الأولي أيضًا
في JavaScript ، "كل شيء كائن ، الوظيفة هي النوع الأول."
الوظيفة والكائنات هي حالات الوظائف.
يشير النموذج الأولي لأب الوظيفة إلى النموذج الأولي للوظيفة
يشير النموذج الأولي للكائن أيضًا إلى النموذج الأولي للوظيفة.
في محرك SpidermonKey ، يمكن الوصول إلى النموذج الأصل من خلال __proto__
*/
function.prototype.hi = function () {Alert ('hi function') ؛}
Object.prototype.hi = function () {Alert ('Hi Object') ؛}
var a = function () {
this.txt = "a" ؛
}
A.Prototype = {
قل: وظيفة () {Alert ('a') ؛}
}
تنبيه (وظيفة مثيل) ؛
التنبيه (A.__ LOTO___ === وظيفة. النموذج الأولي) ؛
تنبيه (مثيل وظيفة) ؛
التنبيه (وظيفة. __ loto__ === fu comply.prototype) ؛
التنبيه (function.protype .__ loto__ === Object.Protype) ؛
التنبيه (كائن .__ proto__ === function.prototype) ؛
التنبيه (Object.Protype .__ Loto __) ؛
التنبيه (A.Protype مثيل من كائن) ؛
التنبيه (النمط A.Proty
var a = function () {} ؛
A.Prototype = جديد A () ؛
A.Prototype.say = function () {
تنبيه ('a') ؛
}
التنبيه (وظيفة مثيل) ؛
التنبيه (A.__ propo___ === وظيفة
التنبيه (A.Protype مثيل A) ؛
التنبيه (النموذج A.Proty
var ia = جديد A () ؛
var ib = new () ؛
ia.hi () ؛
/*
IA نفسها ليس لها طريقة مرحبًا (لا في الهيكل ، ولم أحددها) ،
لذا ابحث عن ia .__ proto__ ، أي النمط A.Protype ، ولم يجدها.
لذا ابحث عن النمط A.Protype .__ loto__ ، أي النمط A.Protype ، وما زلت لم أجده.
استمر في العثور على النمط A.Protyty
الإخراج: مرحبا كائن
*/
ib.hi () ؛
/*
IB نفسه ليس له طريقة مرحبًا (لا في الهيكل ، ولم أحددها) ،
لذا ابحث عن IB .__ LOTO__ ، أي النمط A.Protype ، ولكن لم يعثر عليه.
استمر في العثور على النمط A.Protyty
الإخراج: مرحبا كائن
*/
A.Hi () ؛
/*
لا تحتوي على طريقة مرحبًا (لا يوجد في الهيكل ، ولم أحددها) ،
لذا ابحث
الإخراج: مرحبا وظيفة
*/
ia.say () ؛
/*
IA نفسها ليس لها قول (لا في الهيكل ، ولم أحدده) ،
لذا ابحث
لذلك ، هنا هو النموذج A.Proty.say
الإخراج: أ
*/
ib.say () ؛
/*
IB نفسه ليس له رأي (لا في الهيكل ، ولم أحدده) ،
لذا ، ابحث عن ib .__ loto__ ، هذا هو النمط a.protype ، واو ، لقد وجدت ، لذلك اتصلت به وتوقفت عن البحث عنه
لذلك ، هنا هو النموذج A.Proty.say
الإخراج: أ
*/
ia.bad () ؛
/*
IA نفسها ليس لديها طريقة سيئة (لا يوجد في الهيكل ، ولم أحدده) ،
لذا ابحث عن ia .__ proto__ ، أي النمط A.Protype ، ولم يجدها.
لذا ابحث عن النمط A.Protype .__ loto__ ، أي النمط A.Protype ، وما زلت لم أجدها.
استمر في العثور على النمط A.Protype .__ loto__ ، هذا هو Object.prototype.
عودة خطأ ، ia.bad ليست وظيفة
*/
// -> </mce: script>
</script>
بفضل رأي تصحيح سيمون! لا تجد جميع الحالات النموذج الأولي الخاص بها عند البحث في طريقة السمة (النموذج الأولي للمثيل ليس في سلسلة النموذج الأولي ، لا يمكن استخدامه إلا كسممة)!