quizás una pregunta tonta.Sintaxis de la función autoejecutable y sintaxis de devolución de llamada explicada
Pero quiero entender por qué la sintaxis de la función automática y la devolución de llamada que tiene es tan diferente a todo el resto de la sintaxis de JS ..
(function() {
})()
sólo hay que entender por qué su válida para encapsularlo con ()
No habría supuesto que es válido, y luego el extra ()
después de la devolución de llamada, (que simplemente se sienta directamente después de él, tampoco habría esperado que sea válido.
Es ¿alguien capaz de explicarme esto?
posible duplicado de [¿Cómo funciona una función anónima en JavaScript?] (Http://stackoverflow.com/questions/1140089/how-does-an-anonymous-function-in-javascript-work) – ziesemer
Una manera alternativa de hacer lo mismo, que evita todos los paréntesis, es 'new function() {...};'. New invoca la función para usted. – jpsimons
@darkporter: Una diferencia importante es que 'new function() {...}' invoca la función * como un constructor *. Entonces 'this' será diferente en el interior, y la expresión evaluará el objeto recién creado en lugar de lo que' function() {...} 'devuelve. (Supongo que ya sabes esto, pero creo que vale la pena hacerlo explícito para el beneficio de aquellos que no lo hacen!) – ruakh