A debugger is essential for helping understand how code works. In my lynda.com course Debugging The Web: JavaScript, I go over the essential parts of learning how to use one. These concepts are the same across pretty much all debuggers in common use, but there are also different helpful options available in each one that can be helpful.