Tienes razón que impida la contaminación del mundial espacio de nombres
Todas las variables y funciones que jQuery necesita se crean dentro de esa función, lo que evita que esas funciones y variables se desangren en el espacio de nombres global. Si nos fijamos en este bloque de código:.
var jQuery = window.jQuery = window.$ = function(selector, context) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init(selector, context);
};
se trata en realidad de conectar el inicializador de jQuery para el mundo exterior mediante el establecimiento y la ventana window.jQuery $ a la función de inicialización. Ese es el único lugar donde las variables dentro de la función de envoltura están disponibles directamente fuera del envoltorio.
Observe también que la función completa se ajusta de esta manera (función ,,,)() que ejecutará esa función tan pronto como se cargue el archivo.