Ayman Hourieh covers some interesting manipulation of Arrays that accommodates typical data structures. He also covers how to bind methods to objects, sorting with custom functions. He shows a custom AssertException, and covers using Firebug for debugging. He covers some JavaScript quirks: static local variables, null, undefined and delete.
Exploring the features of Firebug, with code examples covering using the console, timing code, stack traces, debugging and breakpoints, profiling, tracing HTTP requests. An excellent overview of Firebug's functionality
Apart from being an elegant debugger, FireBug offers the developer hooks that can be used from JavaScript, offering logging, assertions, performance measuring, and command line functions for inspection or traversing a document.