انتقل إلى محتوى الدرس

Preserving Context in Event Timers حفظ السياق مع المؤقتات

أتقن دالة bind في JavaScript لمنع ضياع سياق this عند تمرير الدوال وتثبيت الوسائط المسبقة وحفظ السياق مع تفاعلات الأزرار والمؤقتات ومقارنتها مع call وapply.
3 صفوف تعليمية
جافا سكريبت
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

عند إسناد دالة كائن لتعمل استجابةً لنقر زر مثل btn.onclick = counter.increment.bind(counter) أو بعد مهلة زمنية في المتصفح، تضمن .bind() بقاء this مرتبطةً بكائن البيانات الخاص بك بدلاً من تحولها إلى عنصر الزر أو النافذة العامة.

الصف 2 كود برمجي
JavaScript
const counter = {
  clicks: 0,
  step: function () {
    this.clicks += 1;
    document.getElementById('cnt-out').textContent = 'Clicks: ' + this.clicks;
  }
};
document.getElementById('cnt-btn').onclick = counter.step.bind(counter);
الصف 3 ملاحظة هامة