Ivo Wetzel covers some of the quirks of the JavaScript language. Some of these cause subtle bugs, some overturn conventional wisdom. It covers toString on numbers. Covers the advanced JavaScript features such as prototypal inheritance, this, closures, anonymous wrappers, type-casting, automatic semicolon insertion and hoisting of function and variable declarations.

From Mozilla: An overview of the object-oriented capabilities of JavaScript. This covers OO concepts of classes and objects, instances, abstraction, encapsulation and polymorphism as done in JavaScript with functions and prototypal inheritance.

First in a series of talks from Douglas Crockford about the JavaScript language. These talks cover the JavaScript language, from the history, the language, advanced features, platforms, standards and programming style. Talks about inheritance, using functions to build objects, closures, as well as the basic JavaScript syntax. Also covers code conventions. JavaScript is a language that requires discipline.

Although JavaScript is a class-free, object-oriented language using prototypal inheritance, it can still be used in a classical object-oriented way. Douglas Crockford compares the two inheritance-based systems, adding syntactic sugar to JavaScript to allow classical inheritance, and demonstrates a number of patterns that are not available in classical languages.