Stronę tą wyświetlono już: 5287 razy
Deklaracja pól statycznych klasy
Do pól statycznych klasy można uzyskać dostęp bez konieczności tworzenia obiektu klasy. Umożliwia to bardziej uporządkowane rozmieszczenie zmiennych. Oto prosty przykład:
function Person(_name, _surname){
this.name = _name; // pole publiczne klasy
this.surname = _surname;
Person.nuberOfObjects += Person.numberOfObjects ? Person.numberOfObjects + 1 : 1;
}
var person = new Person("Marian", "Paździoch");
alert(Person.nymberOfObjects);
Deklaracja metod statycznych klasy w JavaScript
Metody statyczne tworzy się podobnie jak pola statyczne, oto przykład:
function Person(_name, _surname){
this.name = _name; // pole publiczne klasy
this.surname = _surname;
Person.numberOfObjects = ++Person.numberOfObjects || 1; // zmienna statyczna
Person.removePerson = function(person){ // utworzenie metody statycznej
delete person;
Person.numberOfObjects--;
}
}
var person = new Person("Marian", "Paździoch"); // tworzenie pierwszej osoby
alert(Person.numberOfObjects); // wyświetlanie liczby osób
Person.removePerson(person); // wywołanie metody statycznej
alert(Person.numberOfObjects); // wyświetlanie liczby osób
W powyższym kodzie metoda statyczna removePerson rzeczywiście usunie obiekt, ale tylko wtedy, gdy jedynym wskaźnik na ten obiekt będzie podanym na jej wejście argumentem.