The background for JSLint in Crockford’s words –
When C was a young programming language, there were several common programming errors that were not caught by the primitive compilers, so an accessory program called lint was developed that would scan a source file, looking for problems.
As the language matured, the definition of the language was strengthened to eliminate some insecurities, and compilers got better at issuing warnings. Lint is no longer needed.
For more information on JSLint and to try it, go to http://www.jslint.com/