في الجافا سكربت استخدام دالة setInterval او اختها setTimeout يعتبر اضافة عبئ على المتصفح و اذا كان المتصفح على الجوال فهذا يستهلك من البطارية.

هذه المشكلة تواجهك بكثر عند بناء تطبيق ويب ممكن اسميه Web Animation اوحتى سلايدر ومايشابهه، اذا كنت تستخدم هذه الدالتين بدون قيود فعلى الاغلب المتصفح يعلق هذا اذا لم يتوقف المتصفح بشكل نهائي عن العمل.

هناك دالة جميلة لحل هذه المشكلة، تعمل تكرار بنفس وظيفة هذه الدالتين لكن مع المحافظة على الاداء، والمميز فيها عندما يقوم المستخدم بالانتقال الى تبويب اخر في المتصفح يتم ايقاف التكرار واذا رجع للتبويب يعمل التكرار مره اخرى.

https://gist.github.com/paulirish/1579671

وهذه شرح اكثر توضيح عن فكرة الدالة :

http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/