Passage d'arguments à une IIFE

Quelle est la syntaxe correcte pour le passage d'arguments à une IIFE stockée dans une variable?

Exemple ci-dessous me dit que foo n'est pas défini, peu importe si j'appelle la fonction ou pas:

var bar = (function(foo){

    return { 
        getFoo: function(){
            return foo;
        } 
    }

})(foo);

console.log(bar.getFoo(1));

http://jsfiddle.net/eSTkL/

InformationsquelleAutor Johan | 2013-08-31