I've have been working with Javascript here and there - always small pieces - as I know Java, C, Python I though that I do not need to learn anything special about Javascript, that I should be able to manage right away - In fact I somehow did, but I've been always bit struggling with some strange behaviours. Having to write couple of Firefox add-ons recently I decided to read some book about Javascript to shed a light on those anomalies - I found this book very good - Javascript: The Good Parts by Douglas Crockford.
It relatively small book - I've read it in a few hours, but it gives you very good overview of all features of the language and show you how to write good and maintainable code in JS. Now I know that Javascript is very expressive language, where I can use some powerful features like functional programming, prototypes etc.