Question

Going around Modernizr source code I have found strange thing:

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

After that this function will be called with two arguments (this, this.document).

Why undefined is used here? Is it meaningful or it's just strange code-style?

Was it helpful?

Solution

Creates a local undefined in case someone redefines undefined somewhere in the scope chain.

Also provides a faster lookup since undefined is a global property, so the scope chain traversal is reduced.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top