Codecademy is good for the absolute basics, but I found anything beyond that seriously lacking.
I remember really hating the tutorial on 'How to use APIs with Javascript', for example. It basically told me exactly what to type in and I 'passed' the course without understanding any of it.