ملخص
يتم استخدام طريقة HasOwNproperty () لتحديد ما إذا كان كائن يحتوي على خاصية محددة.
قواعد
obj.hasownproperty (Prop)
المعلمة
•دعم
• اسم السمة التي سيتم اكتشافها.
يصف
سيتم مورث جميع الكائنات التي وراثة كائن. يمكن استخدام هذه الطريقة لاكتشاف ما إذا كان كائن يحتوي على خاصية محددة. على عكس المشغل ، ستتجاهل هذه الطريقة الخصائص الموروثة من سلسلة النموذج الأولي.
مثال
مثال 1: استخدم طريقة HasOwnproperty لتحديد ما إذا كان كائن يحتوي على خاصية محددة
يكتشف المثال التالي ما إذا كان الكائن O يحتوي على دعامة السمة الخاصة به:
نسخة الكود كما يلي:
o = كائن جديد () ؛ o.prop = 'موجود' ؛ function changeo () {
O.NewProp = O.Prop ؛
حذف O.Prop ؛} O.HasownProperty ('Prop') ؛
// إرجاع صحيح
changeo () ؛
O.HasownProperty ('Prop') ؛
// إرجاع خطأ
مثال 2: الفرق بين سماتك والسمات الموروثة
يوضح المثال التالي الفرق بين طريقة HasownProperty يعامل خصائصه وخصائصه الموروثة:
نسخة الكود كما يلي:
o = كائن جديد () ؛ o.prop = 'موجود' ؛ o.hasownproperty ('prop') ؛
// إرجاع صحيح
O.HasownProperty ('tostring') ؛
// إرجاع خطأ
O.HasownProperty ('hasownproperty') ؛
// إرجاع خطأ
مثال 3: تكرار من خلال جميع خصائص كائن ما
يوضح المثال التالي كيفية تجاهل الخصائص الموروثة عند عبور جميع خصائص كائن ما. لاحظ أن for .. في الحلقة ستجتاز فقط خصائص التعداد ، والتي عادة ما نريد. يمكنه أيضًا تحقيق متطلبات مماثلة مباشرة باستخدام Object.getOndPropertyNames ().
نسخة الكود كما يلي:
var buz = {
الضباب: 'stack'} ؛
لـ (var name in buz) {
if (buz.hasownproperty (name)) {
التنبيه ("هذا هو الضباب (" + name + ") بالتأكيد. القيمة:" + buz [name]) ؛
}
آخر {
تنبيه (اسم) ؛
// tostring أو أي شيء آخر
}}
مثال 4: قد يتم حظر طريقة hasownproperty
إذا كان للكائن طريقة hasownproperty الخاصة به ، فستظل طريقة الاسم نفسه في سلسلة النموذج الأولي مظللاً:
نسخة الكود كما يلي:
var foo = {
hasownproperty: function () {
العودة كاذبة
} ،
BAR: "هنا Be Dragons '} ؛ foo.hasownproperty (' bar ') ؛
// ارجع دائمًا كاذبة
// إذا كنت قلقًا بشأن هذا ، فيمكنك استخدام طريقة HasOwnproperty الحقيقية مباشرة على سلسلة النموذج الأولي
({}). hasownproperty.call (foo ، 'bar') ؛
// حقيقي
Object.prototype.hasownproperty.call (Foo ، 'Bar') ؛
// حقيقي
ما سبق هو كل المحتوى الموضح في هذه المقالة ، آمل أن تنال إعجابك.