قم بتنفيذ طريقة على كائن موجود باستخدام Window.setInterval
-
27-09-2019 - |
سؤال
هل من الممكن تشغيل الطريقة على كائن موجود في مهلة Window.SetInterval. يمكنني محاكاة الشيء نفسه من خلال وجود متغير عالمي واستدعاء طريقة هذا المتغير العالمي في SetInterval ، لكنني أردت أن أعرف ما إذا كان هذا ممكنًا باستخدام الطريقة مباشرة.
مع أطيب التحيات ، كيشاف
المحلول
نعم، يمكنك أن تفعل هذا. تحتاج إلى وظيفة مساعد لجعل ملف الجديد الوظيفة التي تحتوي على كائنك الحالي "ملزمة":
var someRandomObject = {
someMethod: function() {
// ... whatever
},
// ...
};
// this is a "toy" version of "bind"
function bind(object, method) {
return function() {
method.call(object);
};
}
var interval = setInterval(bind(someRandomObject, someRandomObject.someMethod), 1000);
الآن عندما يستدعي جهاز ضبط الوقت الفاصل طريقتك ("Somemethod") ، سيشير المؤشر "هذا" إلى الكائن.
تم تبسيط هذا الإصدار من "BIND". المكتبات مثل النموذج الأولي ، الوظيفي ، jQuery ، إلخ بشكل عام توفر إصدارات أكثر قوة. بالإضافة إلى ذلك ، ستكون وظيفة "bind" جزءًا أصليًا من JavaScript يومًا ما - إنها بالفعل في بعض المتصفحات.
لا تنتمي إلى StackOverflow