Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I agree that JSLint is the best place to start. Note that <a href="http://www.javascriptlint.com/" rel="noreferrer">JavaScript Lint</a> is distinct from <a href="http://www.jslint.com/" rel="noreferrer">JSLint</a>. I’d also suggest checking out <a href="https://github.com/berke/jsure" rel="noreferrer">JSure</a>, which in my limited testing did better than either of them, though with some rough edges in the implementation—the Intel Mac version crashed on startup for me, though the PowerPC version ran fine even on Intel, and the Linux version ran fine as well. (The developer, Berke Durak, said he'd get back to me when this was fixed, but I haven't heard from him.)</p> <p>Don’t expect as much from JavaScript static analysis as you get from a good C checker. As Durak told me, “any non-trivial analysis is very difficult due to Javascript's dynamic nature.”</p> <p>(Another, even more obscure Mac-only bug, this time with JSLint’s Konfabulator widget: Dragging a BBEdit document icon onto the widget moves the document to the trash. The developer, Douglas Crockford, hadn’t tried the widget on a Mac.) </p> <p>10 August 2009: Today at the <a href="http://sas09.cs.ucdavis.edu/" rel="noreferrer">Static Analysis Symposium</a>, Simon Holm Jensen presented a paper on <a href="http://www.brics.dk/TAJS/" rel="noreferrer">TAJS: Type Analyzer for JavaScript</a>, written with Anders Møller and Peter Thiemann. The paper doesn’t mention the above tools, but Jensen told me he’d looked at some of them and wasn’t impressed. The code for TAJS should be available sometime this summer.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload