(function optionalName(window, document, undefined) { // DoSomething })(this, document);
Die übergebenen Parameter sind ebenfalls optional. Falls jemand im globalen Scope undefined definiert würde es, weil der Parameter nicht übergeben wird, wieder undefined.
Soll die Funktion später über einen anderen Trigger z.B. resize aufgerufen werden. Kann dies so realisiert werden.
var selfExecutingFunction = (function self(window, document, undefined) { // do something return self; })(window, document); $( window ).resize(function() { selfExecutingFunction(window, document); });