I am a pretty good programmer(IMO only, of course. Know Python, Java well. Tried my hands at Lisp, Ruby, Haskell). I also know how to use Jquery reasonable well, so I know Dom m
Another good one is "Pro Javascript Design Patterns" by Harmes & Diaz. It starts by showing a number of approaches for simulating classes, classical inheritance, private members, etc., then builds on that to implement several of the more common design patterns seen in other OO languages. Some of the examples do involve the DOM, but they really give a feel for the flexibility of the core language.