Stoyanov's "OO JavaScript" is probably one of the best books on advanced programming in JS. It packs quite a punch, includes lots of concise examples and incredibly well structured. It really emphasizes the flexibility and power of prototypes; Stoyanov shows there are dozens ways to skin the proverbial cat. I haven't read the second edition of the book though. But I really liked the first one.