Задача
Порой, для отслеживания каких-либо операций или событий по таймауту (например, содержимого тектового поля, которое, как известно, можно изменить в обход нативных обработчиков событий), применяют рекурсивные функции, вызываемые с помощью
setTimeout (
setInterval не подходит, так как технология использования
setTimeout гарантированно позволяет выполнять определенные действия через равные промежутки времени, в то время, как
setInterval не гарантирует равную величину временных промежутков.
Подробнее.)