I find I have to comment quite a bit with JS because so much can be left up to interpretation, even in the code. It's the only time I wish there was some manner of type safety in JS, even if only in expression -- it sucks when an out-of-date comment gives the wrong type of an incoming param, and it's not until you actually step through that you see that.