While I can sympathise with some of the 2* reviewers, I am reluctant to rate this anything less than 5*. While I myself did (and still do) struggle with this book, it's fair to say that it really does its best to get you from novice TO professional in its 480 pages.
Heilmann makes it clear that he isn't going to plod along with 'hello world' type examples and, after brief coverage of the 'core' elements of javascript (what Heilmann collectively names 'data and decisions', e.g. numbers, strings, arrays, objects and control structures), he jumps right into writing unobstrusive, progressively enhanced javascripts. In fact, barely a quarter of the way in, he is writing helper methods, that aren't fully expected to make sense yet, in order to write more efficient and cleaner scripts. All the while, he discusses such things as the role of javascript in web development, accessibility and cross-browser compatibility.
By chapter 8 we are being introduced to Ajax and by the end of the book we are given coverage of third-party javascript including the discussion on the popular javascript libraries.
I won't lie and pretend this is easy-going. It's not. But I think as a beginner that if you're willing to go with the flow and accept that not everything is going to make sense at first, and if you're prepared to write your own scripts (and accept they're not going to be as good as Heilmann's right away) you'll have here an invaluable resource. Not only does he cover a bunch of relevant examples (e.g. drop down menus, layer ads, form validation), but he does this well. When I go and write my own scripts, I never feel like i'm coming back to this book to 'look how it's done', rather it's that i'm coming back to 'see a better approach'.
Bare in mind that Heilmann ain't gonna hold your hand all the way through the book and that it does get pretty involved pretty quickly and you'll be fine. I feel I have the perfect 2 books to get me going in this and O'Reilly's 'The Definitive Guide'. This book grows increasingly invaluable to me, still a relative beginner, owing mainly to the WAYS in which Heilmann goes about javascripting. When things do get maybe a bit too heavy, he does explain what he means to do in those spots and this itself is a good starting point for writing your own (be them work-in-progress) scripts.
N.B. all code examples are available online for download to accompany this book. This is another handy facet.