为什么Twitter重新定义window.setTimeout和window.setInterval?

时间:2011-11-08 00:07:40

标签: javascript twitter settimeout setinterval

我正在研究Twitter源代码,我遇到了以下片段:

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

为什么Twitter重新定义了这些功能?

编辑: 要查看代码,请转到任何Twitter用户页面,打开页面源,您将在第二个javascript块中看到该代码段。

1 个答案:

答案 0 :(得分:15)

这是一种以跨浏览器方式全局替换setTimeoutsetInterval函数的技术。

  

window.setTimeout,当用作左值时(在左侧)   任务),不走原型链,但在右侧,   它确实。因此,这将始终从原型中取出一个属性   链并把它放在物体上。

请参阅http://www.adequatelygood.com/2011/4/Replacing-setTimeout-Globally