With an overall appreciation for languages in general, JS isn't too difficult to pick up small pieces... I'm completely new to JS, but can get by with modifying examples for use in Parse.com's cloud code for instance. I've also heard from non-programmers getting good results with jQuery. I'm now looking to delve deeper into JS through Node.js, but each to their own.
JS is actually very easy to pick up in small bits. But somehow picking up the knowledge in small bits tend to lead to quite crappy programs. At least in my experience
That's certainly very true. Like any technology, there's learning how to use it, and learning how everyone else uses it. JS is almost too flexible, allowing programmers to get themselves very stuck - so learning how everyone else uses JS is an essential goal in its own right.
I think one of the biggest issues with JS is its lack of an intuitively obvious inheritance scheme. Until you get a full grasp of prototypes, you're not going to really know what the all the objects are. Couple this with a lack of namespacing and you can have a lot of trouble structuring large programs effectively.