ООП в Javascript
https://habrahabr.ru/post/132698/#comment_4405426
by Yury
JavaScript
/*Такие топики и куски кода делают мне удивление. Смотришь на это, и кажется, что javascript в представлении нифиге не ООП язык только лишь из-за того, что там нет ключевых слов «class», «abstract», «extend».
Предлагаю вашему вниманию мини-топик(опубликую здесь же в каментах):*/
// ООП в Javascript
function Clazz(){}
Clazz.prototype.foo = function(){}
var obj = new Clazz()
// Та-дам!
// https://habrahabr.ru/post/132698/#comment_4405426
/***********************/
//Дополню вашу реализацию переменными инстанса и статичными:
function Clazz(spam){
this.instanceProperty = spam;
}
Clazz.prototype.foo = function(){}
Clazz.staticProperty = 0;
var obj = new Clazz('egg');