¿Por qué JSLint se queja si algo utiliza una función que no se ha definido ya? El punto es que la función está definida, y si ese algo llama a esa función, esa función existe y las cosas funcionarán.error de jsLint: "somefunction() se usó antes de definirse"
Tome una mirada en el código de abajo:
function foo()
{
// calls bar()
};
function bar()
{
// calls foo()
};
No hay manera de organizar los 2 métodos de tal manera que haría JSLint feliz. ¿Cómo trato este problema?
Pero eso solo es un poquito diferente de 'function foo()', que es expresión de función y todo. Además, declarar 'var foo, bar' en la parte superior es superfluo debido a la elevación. Entonces, en resumen, 'var foo = function() ..., var bar = function() ...' funcionará bien técnicamente. Además, creo, teniendo en cuenta que las declaraciones de funciones se cargan antes que cualquier otra cosa, JSLint ya debería arreglar sus cosas. – ZenMaster
@ZenMaster: una bifurcación de 'jslint', [' jsHint'] (http://www.jshint.com/docs/), resolvió esto permitiéndole configurar '" latedef ": false' en las opciones. (No afecta los nombres de las variables, solo los nombres de las funciones.) –
Esta respuesta romperá el código que depende de la definición de la función ◆ –