Область видимости классов


Области видимости public/private в языке JavaScript
не существуют, но эмулировать можно почти всё:

function SomeClass() {
    var self = this;

    // Публичное
    this.publicVar = 'test';

    this.publicMethod = function() {
        alert(' Public ' + this.publicVar);
        privateMethod();
    };

    // Закрытое
    var privateMethod = function() {
        alert(self.publicVar);
    };
}

var obj = new SomeClass();

obj.publicMethod();