Dos formas de llamada inmediata a la función anónima (función (d) {} ​​()); y (función (x) {}) (); [duplicar]

Posible duplicado:
¿Son "(function () {}) ()" y "(function () {} ())" funcionalmente iguales en JavaScript?

Mi pregunta teniendo estos caracteres especiales, no pude encontrar una buena respuesta. (¿Alguien sabe como buscar con ellos?)

He visto dos patrones para llamar inmediatamente a funciones anónimas.http://jsfiddle.net/ukqS8/1/

<code>(function(d) {
    document.write(d*2);
})(3);
</code>

y

<code>(function(x) {
    document.write(x*2);
}(3));
</code>

La diferencia es donde se coloca (3): dentro o fuera del paréntesis de cierre.

Encontré una buena explicación para el segundo caso aquí:

función javascript vs. (function () {...} ());

que entendi comofunction(x) {...} crea un objeto de función, (3) se convierte en su argumento, y el adjunto () le dice al intérprete que lo que hay dentro es una declaración.

En el primer caso, parece hacer(function(d) {...}) una declaración que de alguna manera también es una función, y luego se aplica (3) a esta declaración / función.

Entonces, ambos parecen ejecutarse de la misma manera. ¿Hay realmente una diferencia aquí? Ámbito (lo dudo)? ¿Alguna opción es preferible?

Respuestas a la pregunta(2)

Su respuesta a la pregunta