I learned it by example, back in the early days of the Net were good tutorials were hard to find.
I dissected every line of code trying to find out how they did it.
GUI API's and Libraries were very important in this process. Projects like DynAPI that implement a series of cross browser DHTML objects were the cornerstone of my learning, because they showed how things could be done, cross-browser and with efficient and well written code.
Hear us Roar