Ah scusa, per completezza di discorso e per verificare come spesso si faccia uso di enclosures senza che ve ne sia alcun motivo reale (per questo sottolineavo che la funzioni in currying o lambda ha senso usarle quando serve, e non solo perchè lo si può: è inutile sparare ai canarini con i carri armati):

se tu hai una pagina con una query, che so:
nomepagina.php?yourVar=2&pippo=ciao it's good to see you

La struttura dati minimale:

var getVars={
'foo': function(){ var s=window.location.search.substring(1).split('&'); for(var i in s){this[s[i].substring(0, s[i].indexOf('='))]=unescape( s[i].substring(s[i].indexOf('=')+1) );} return this;}
};

alert(getVars.foo().pippo);
alert(getVars.foo().yourVar);

ti esegue quanto desiderato, cioè ottenere un oggetto dove siano raccolte come proprietà gli elementi della query, in maniera semplicissima e più leggibile. (meglio ancora sarebbe non mettere il return this e invocare una volta sola foo(), in maniera da non ripopolare, e poi invocatolo una volta sai che disponi delle proprietà: semplice e diretto allo scopo, e senza inquinare alcun namespace che non sia quello già impiegato di getVars).

Poi puoi aggiungerci qualche dettaglio ma quello che mi preme sottolineare è che il fatto che tu veda su megasiti come Google o come Mozilla delle implementazioni barocche (il loro scopo di solito è meramente didattico: non ti suggeriscono che tu debba fare così, ma solo ti segnalano una prassi possibile: sta a te capire che l'intento didattico non coincide con l'incoraggiamento ad applicare la soluzione indiscriminatamente), non deve indurti a pensare che quelle implementazioni siano necessarie: come Feyerabend disse una volta, il fatto che sotto una soluzione inutile siano collezionate delle firme scientifiche autorevoli non rende la soluzione più utile ma la rende solo "una enciclica scientifica".

Non perdere quindi il capo su quel che fa Google (che magari avrà i suoi motivi per fare le cose, ma il loro 'backstage' non ci è giustamente noto, o magari non li avrà): archivia il fatto che il currying e le espressioni lambda sono possibili, e poi usale quando ti accorgerai che davvero possono servirti e risolverti un problema, non iniziare ad usarle solo perchè si può o perchè rende il tuo codice più "cool" a vedersi

O, almeno, io ti suggerisco di imparare a programmare così: in maniera funzionale, e non estetica, mettendo nella tua faretra le soluzioni che oggi non ti servono per quando ti accorgerai che ti servono.

Poi, beninteso, liberissimo di seguire altri approcci meno orientati all' obbiettivo pratico. Nulla in contrario.