带有'undefined'参数的JavaScript函数

Gle*_*sov 20 javascript modernizr

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

window.Modernizr = (function(window,document,undefined) {
Run Code Online (Sandbox Code Playgroud)

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

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

use*_*716 23

创建一个本地undefined,以防有人重新定义undefined作用域链中的某个位置.

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

  • 是的,我相信保罗·爱尔兰在我学到的关于JQuery视频的10件事情中将其作为混蛋效应. (7认同)