关于modernizr:带有’undefined’参数的JavaScript函数

JavaScript function with 'undefined' parameter

本问题已经有最佳答案,请猛点这里访问。

围绕Modernizr源代码,我发现了一件奇怪的事情:

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

之后,将使用两个参数(this, this.document)调用此函数。

为什么在这里使用undefined? 它有意义还是只是奇怪的代码风格?


如果有人在作用域链中的某处重新定义undefined,则创建一个本地undefined

还提供了更快的查找,因为undefined是全局属性,因此范围链遍历减少了。