una - Sintaxis de la definición de la función Javascript
retornar valor de una funcion javascript (1)
Ninguno de ellos está en desuso, y ambos funcionarán. La diferencia aquí es que una es una función nombrada ( function f()
) mientras que la otra es una variable igual a una función ( var f = function()
).
Debe tener cuidado al establecer variables iguales a funciones. Esto funcionará:
var f = function(n) { console.log(n); };
f(3); // logs 3
Pero esto se romperá, ya que la variable se define después de la llamada.
f(3); // what is f? breaks.
var f = function(n) { console.log(n); };
Pero las funciones normales funcionan bien.
function abc(n) { console.log(n); }
abc(3); // logs 3
xyz(5); // logs 5
function xyz(n) { console.log(n); }
Esto se debe a que el código se analiza antes de la ejecución y todas las funciones están disponibles para llamar. Pero establecer una var igual a una función es como establecer una var para cualquier otra cosa. El orden de cuándo sucede es importante.
Ahora, para algo más confuso ...
También hay funciones anónimas de "autoejecución". Van por una variedad de nombres. La forma más común de hacerlo es algo como esto:
(function() {
// code in here will execute right away
// since the () at the end executes this (function(){})
})();
También hay una mejor versión.
!function() {
// again, the tailing () will execute this
}();
Consulte esta publicación de Stack Overflow para obtener más información sobre funciones anónimas.
Posible duplicado:
JavaScript: var functionName = function () {} vs function functionName () {}
Declarar funciones en JavaScript
He visto 2 sintaxis diferentes para definir funciones en javascript:
function f() {
...
}
Tanto como
var f = function() {
...
};
¿Cuál es la diferencia entre estos? Es uno de ellos obsoleto?