السلام عليكم ..
أحتاج المساعدة ، هل هناك أحد يستطيع أن يسدي لي معروفاً ،
ويشرح لي ما هو إستخدام this شرحاً وافياً ..
شكراً لكم .
this تستخدم في البرمجة كائنية التوجه OOP وهي تعبر عن ذات الكائن المنشأ وتكون متاحة فقط داخل الكائن واستخدامه لتمرير المؤشر الذاتي لدوال أخرى
كمثال أردت أن تمرر الكائن من داخله إلى دالة فكل ماتحتاجه أن تمرر القيمة this
OtherObject.OtherMethod(this);
كما تستخدم للتفريق بين أعضاء الكائن وبين البارمترات في حال التشابه
public string Property { get; set; }
public void Method(string Property)
{
this.Property = Property;
}
فالوصول للخاصية لا يحتاج إلى this لأنه عضو داخلي لكن لكون وجد بارمتر محلي بنفس الاسم داخل الدالة فوجب وضع this للتفريق بينهما لأنك لو أزلتها سيسند قيمة البارمتر إلى نفس البارمتر وليس الخاصية للكائن.
var obj={
fname:'Ahmad',
lname:'sami',
getFullName : function(){
return this.fname+" "+this.lname;
}};
كما في المثال في الأعلى (this) تحل محل المتغير او الكائن الذي يستدعي الخاصية هذه بمعنى اخر لو اردنا تعويض قيمة الكائن محل this سيصبح لدينا الكود التالي :
var obj={
fname:'Ahmad',
lname:'sami',
getFullName : function(){
return obj.fname+" "+obj.lname;
}};
إن كانت لغتك الانجليزية جيدة فعليك بقراءة هذا المقال:
تابع هذا السؤال الذي قمت بطرحه في مجتمع Stack Overflow وكان الخلل فعلياً من فهمي الخاطىء للـ This:
التعليقات