фактически, в javascript нету классов, а наследование построено на прототипах. Классы можно только эмулировать и по-разному, а можно не эмулировать
Прототипное программирование — стиль объектно-ориентированного программирования (может не очень достоверный источник, но вот
http://ru.wikipedia.org/wiki/Про...ова ие)
еще есть такие варианты
http://ejohn.org/blog/simple-javascript-inheritance/
http://dean.edwards.name/weblog/2006/03/base/
http://javascript.crockford.com/inheritance.html
http://javascript.crockford.com/prototypal.html