إنه يعمل عن طريق تأخير تنفيذ وظيفة حتى يتم انقضاء فترة زمنية محددة منذ آخر استدعاء.
var timeout
وظيفة الإرجاع () {
var context = هذا ، args = الوسيطات ؛
var later = function () {
مهلة = فارغة ؛
إذا (! فور) funC.Apply (السياق ، args) ؛
} ؛
var callnow = forriatiate &&! timeout ؛
ClearTimeout (مهلة) ؛
timeout = setTimeout (لاحقًا ، انتظر) ؛
إذا (callnow) func.apply (السياق ، args) ؛
} ؛
؛ إذا تم تعيين فوري على صحيح ، فسيتم تشغيل الوظيفة على المكالمة الأولية ثم تطبيق التأخير للمكالمات اللاحقة. إنه يمسح المهلة ، وإذا كانت "فورية" خاطئة ، فإن تنفيذ الوظيفة التي تم إلغاؤها. إذا تم تقييمه إلى True ، فهذا يعني أنه يجب تنفيذ الوظيفة على الفور. هو خطأ أو "callnow" خطأ ، يتم تعيين مهلة لتنفيذ الوظيفة بعد فترة التأخير المحددة. في حالة حدوث مكالمة أخرى قبل انتهاء المهلة ، فإنها تعيد تعيين المهلة. مكالمات الوظائف غير الضرورية أو المتكررة.