Search code examples
javascriptjslint

jsLint error: “somefunction() was used before it was defined”


Why does JSLint complain if something uses a function that hasn't been defined already? The point is that the function is defined -- and if that something calls that function, that function exists and things will work.

Take a look at the code below:

function foo()
{
   // calls bar()
};

function bar()
{
   // calls foo()
};

There is no way to organize the 2 methods in such a way that it would make JSLint happy. How do I deal with this issue?


Solution

  • See this answer:

    Contending with JS "used before defined" and Titanium Developer

    Basically, if you use the foo = function() { ... } form, you can declare var foo, bar; at the top to avoid the JSLint errors.