Se están aprovechando de closures.
Breve explicación: Dado que JS usa el ámbito del nivel de función, puede realizar un conjunto de acciones dentro de una función y mantenerla en ese ámbito. Esto es útil para invocar código que no se meta con el espacio de nombres global. También le permite a uno hacer variables privadas: si declara una variable dentro de una función anónima y la ejecuta inmediatamente, solo otro código dentro de la función anónima puede acceder a esa variable.
Por ejemplo, supongamos que quiero hacer un generador de identificador único global. Se podría hacer un código como éste:
var counter = 0;
var genId = function()
{
counter = counter + 1;
return counter;
}
Sin embargo, ahora cualquiera puede meterse con contador, y ahora he contaminado el espacio de nombres global con dos variables (contador y GenID).
En cambio, podría utilizar una función anónima para generar mi función de contador:
var genId = function()
{
var counter = 0;
var genIdImpl = function()
{
counter = counter + 1;
return counter;
}
return genIdImpl;
}();
Ahora, sólo tengo una variable en el espacio de nombres global, lo cual es ventajoso. Más importante aún, la variable de contador ahora está a salvo de modificaciones, solo existe en el ámbito de la función anónima, por lo que solo la función genIdImpl (que se definió en el mismo ámbito) puede acceder a ella.
Parece que en el código de ejemplo de YUI, solo quieren ejecutar código que no contamine el espacio de nombres global.
Ver también: http://stackoverflow.com/questions/631187/javascript-scope-and-closure/ –