-
-
Save gf3/361449 to your computer and use it in GitHub Desktop.
Everyones favourite closure!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// everyone's new favorite closure pattern: | |
(function(window,document,undefined){ ... })(this,this.document); | |
// when minified: | |
(function(w,d,u){ ... })(this,this.document); | |
// which means all uses of window/document/undefined inside the closure | |
// will be single-lettered, so big gains in minification. | |
// it also will speed up scope chain traversal a tiny tiny little bit. | |
// additionally it protects against the case where someone does `undefined = true` | |
// tech details: | |
(function(){ })() // is a self executing anonymous function | |
// and when we | |
(function(myname){ })('paul') // we're just bypassing a var declaration at the top | |
// and then in this case, `this` is always the global object when in global scope so | |
// we can safely use it. | |
// and a horribley awesome idea. duck punch to switch up the args passed in on all ready functions | |
(function(oReady){ | |
$.fn.ready = function(fn){ | |
return oReady.call(this, function(){ fn.call(this, $, window, document); }); | |
}; | |
})($.fn.ready); | |
// which enables | |
$(function($,window,document,undefined){ alert(document) }) | |
| |
// temp01 ftw. thx! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment