为什么窗口和文档作为参数传递?

时间:2012-03-03 13:18:46

标签: javascript

Modernizr从以下开始:

window.Modernizr = (function(window,document,undefined) { ...

...但为什么窗口和文档已作为参数传递?它与浏览器之间的差异有关吗?或者仅仅是因为无法重新定义?

2 个答案:

答案 0 :(得分:1)

调用该函数时的参数如下:(this, this.document) 因此,保证window是全局对象,document是文档对象,undefined未定义。

它还可以带来小的性能提升;有关详细信息,请参阅Why does jQuery has a "window=this" at the very begining and say it would speed up references to window?

答案 1 :(得分:0)

我相信这是有效的。每次Modernizr需要它时都不需要获取windowdocument,而是它的缓存版本。