Почему Twitter переопределяет window.setTimeout и window.setInterval? - PullRequest
6 голосов
/ 08 ноября 2011

Я изучал исходный код Twitter и натолкнулся на следующий фрагмент:

   window.setTimeout=window.setTimeout;window.setInterval=window.setInterval;

Почему Twitter переопределяет эти функции?

Редактировать: чтобы увидеть код, перейдите налюбую страницу пользователя в твиттере, откройте исходный код страницы, и вы увидите этот фрагмент во втором блоке javascript.

1 Ответ

15 голосов
/ 08 ноября 2011

Это метод замены глобальных функций setTimeout и setInterval кросс-браузерным способом.

window.setTimeout при использовании в качестве lvalue (слева отзадание), не проходит цепочку прототипов, но с правой стороны это делает.Так что это всегда будет вытягивать свойство из цепочки прототипов и помещать его прямо на объект.

См. http://www.adequatelygood.com/2011/4/Replacing-setTimeout-Globally.

...