прототипы лучше всего показывать по-разному.
function rectangle(w, h) {
var rect = {};
rect.width=w;
rect.height=h;
rect.area=function() { return this.width * this.height; };
return rect;
}
против
var Rectangle = {
area: function() { return this.width * this.height; }
}
function rectangle(w, h) {
var rect = Object.create(Rectangle);
rect.width=w;
rect.height=h;
return rect;
}
Идея проста: вы помещаете обычные вещи в объект-прототип и потом наследуете от него.
А когда вы хотите использовать прототип? Всегда.
Конечно, вы, вероятно, хотите Улучшение ES5 OO с сахаром