Definiowanie metod
Funkcja method jest funkcją łączącą z obiektem. Definiujesz metodę w ten sam sposób jak definiujesz standardową funkcje. Użyj następującej składni do połączenia funkcji z istniejącym obiektem:
object.methodname = function_name
gdzie: object
jest to istniejący obiekt, methodname
jest nazwą przydzielonej metody i function_name
jest nazwą funkcji.
Możesz nazwać metodę w kontekście obiektu jako następujące:
object.methodname(params);
Możesz definiować metody dla typów obiektu włączając do tego definiowanie metody w funkcji konstruktora obiektowego. Na przykład, możesz zdefiniować funkcję która będzie formatowała i wyświetlała własności poprzednio-definiowanych obiektów car
, na przykład:
function displayCar() { var result = "A Beautiful " + this.year + " " + this.make + " " + this.model; pretty_print(result); }
gdzie: pretty_print
jest funkcją wyświetlającą wg poziomej reguły i łańcuch znaków. Uwaga przy użyciu this
odnoszącego się do obiektu, do której metody należą.
Tworzymy funkcję metody car
, poprzez dodanie instrukcji:
this.displayCar = displayCar;
Do definicji obiektu. Więc, pełna definicja car
będzie wyglądała jak
function car(make, model, year, owner) { this.make = make; this.model = model; this.year = year; this.owner = owner; this.displayCar = displayCar; }
Teraz możemy nazwać metodę displayCar
dla każdego następującego kodu:
car1.displayCar() car2.displayCar()
Efektem będzie produkcja wyjściowa następującego przykładu.
Przykład: Wyświetlanie metody po jej wykonaniu