No hay tal cosa como variables de clase estáticas/propiedades en js. El enfoque más simple es usar la función "clase" como espacio de nombres para variables estáticas.
Significa, simplemente acceda en Person.count directamente.
También puede usar cierres, pero en realidad en 90% de los casos será excesivo. En los navegadores modernos también puede redefinir la función get/setter para ajustar el uso de Person.count y otras variables "estáticas".
Este fragmento de código demuestra la idea:
function borrow(obj, borrowobj, fname) {
obj.__defineGetter__(fname, function() {
return borrowobj[fname]
})
obj.__defineSetter__(fname, function(val) {
borrowobj[fname] = val
})
}
function Person() {
borrow(this, Person, "count");
this.count++
}
Person.count = 0;
new Person();
new Person();
var p = new Person();
alert(p.count);
Puede alguien explicar cómo funciona en realidad. – nepsdotin