var counter = function () {
var count = 0;
this.increment = function () { count++; }
this.get = function() { return count; }
}
//now
counter.prototype.decrement = function () {
count--; //will be undefined :)
}
Bem, isso pode não parecer estranho, a menos que você compare com alguma outra linguagem de programação em que a Orientação a Objetos seja adequada e verdadeira.
class counter {
private: int count;
public:
void increment() { count++; }
void decrement();
}
void counter::decrement { count--; } //count is not undefined.
JavaScript não é uma criatura estranha. Não há OOP real no idioma. O escopo é o que nos ajuda a simular a Orientação a Objetos.