Created
April 28, 2011 14:18
-
-
Save rwaldron/946432 to your computer and use it in GitHub Desktop.
Running collection of IIFE Patterns
This file contains hidden or 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
(function( window, document, undefined ){ | |
})( this, this.document ); | |
(function( global, undefined ){ | |
})( this ); | |
// miketaylr | |
(function( win, doc ){ | |
// SCREW U UNDEFINED | |
})( window, document ); | |
// ralphholzmann | |
(function poll() { | |
/* Lots of stuffs here */ | |
if ( cssIsReady ) { | |
cssCallback(); | |
} else { | |
setTimeout( poll, 50 ); | |
} | |
})(); | |
// mennovanslooten | |
new function() { | |
// No arguments though | |
} | |
// addyosmani | |
(function(){ | |
arguments.callee(); | |
}()); | |
(function(){ | |
/* do stuff */ | |
}()); | |
// rmurphey | |
!function(){ | |
// Note that I don't like this one, but it does exist :) | |
}(); |
mennovanslooten
commented
Apr 28, 2011
Including just because it technically counts, even if ralph's kicks its ass a little ; )
(function(){
arguments.callee();
}());
and I guess this is one of the more common immediately invoked variations I use:
(function(){
/* do stuff */
}());
No funky syntax highlighting. I'm commenting from a phone and Im lazy.
!function(){ /* ... */ }()
Note that I don't like this one, but it does exist :)
Here are some more:
null,function(){ /* ... */ }()
this,function(){ /* ... */ }()
666,function(){ /* ... */ }()
'☹',function(){ /* ... */ }()
-function(){ /* ... */ }()
+function(){ /* ... */ }()
|function(){ /* ... */ }()
^function(){ /* ... */ }()
>>>function(){ /* ... */ }()
~function(){ /* ... */ }()
-([[{}||{}]])>>>function(){ /* ... */ }()
None of them should be used though.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment