Statyczne pola i metody klasy w JavaScript

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 5057 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.