I'm going to suggest something a little odd. It really depends on what you want to learn, how much you want to learn, and what your focus is.
Let's say you really want to do super-cool browser stuff. I'd very much agree with the recommendation for JavaScript the good parts and also jQuery. You can start by learning the absolute basics of jQuery, then advancing to using plugins, then writing your own simple plugins, then forking and changing some more advanced ones. The downside of this is that you're really learning JavaScript within the bounds of jQuery... but, that's ok to start.
From there, branch out into looking at some MV* frameworks and get a little stronger at doing different tasks to build simple browser apps. A really, really good place to start is
TodoMVC.
If you can afford to, dropping the money (note, I haven't yet) on a subscription to the very excellent
PeepCode. There's also the very free
CodeAcadamy and
Reddit University (no JS courses that I noticed on Reddit U.. yet). I've also heard good things about
Code School (another pay one).
Now, on to my off the wall suggestion. Screw jquery and the browser stuff and all that. Sit down with
node.js and write some simple apps from the backend first. Yes, you will still be working with a framework, but, you will be learning a ton about what makes JS awesome in, my opinion, a much quicker fashion.