Salve, mi è capitato ultimamente di trovare delle strutture javascript di questo tipo:

codice:
    (function(d){
        ... altro codice ...
    }(document));
praticamente una funzione anonima circondata da parentesi tonde e con un "parametro" finale dopo la chiusura della parentesi graffa, anch'esso racchiuso tra parentesi tonde.

Che funzione ha questo tipo di struttura? in questo caso, "document" come viene utilizzato?