Ядро JavaScript 1.5. Руководство по использованию

Определение Методов


Метод это функция, ассоциированная с объектом. Метод определяется так же, как стандартная функция. Затем используется следующий синтаксис для ассоциирования функции с уже существующим объектом:


object.methodname = function_name

где object это существующий объект, methodname это имя определяемого Вами метода, а function_name имя функции.

Вы затем вызываете метод в контексте объекта:

object.methodname(params);

Вы можете также определить методы для типа объекта, включив определение метода в конструктор функции. Можно определить функцию, которая форматирует и отображает свойства ранее определённых car-объектов; например,

function displayCar() {

var result = "A Beautiful " + this.year + " " + this.make

      + " " + this.model;

   pretty_print(result);

}

где pretty_print это функция для отображения горизонтальной линии и строки. Обратите внимание на использование this для ссылки на объект, которому принадлежат методы.

Можно сделать эту функцию методом в car, добавив оператор:



this.displayCar = displayCar;


к определению объекта. Так полное определение car будет выглядеть теперь:

function car(make, model, year, owner) {

   this.make = make;

   this.model = model;

   this.year = year;

   this.owner = owner;

   this.displayCar = displayCar;

}


Теперь Вы можете вызвать метод displayCar в каждом экземпляре:

car1.displayCar()

car2.displayCar()

Это даст результат, показанный на рисунке.

Рисунок 7.1  Отображение вывода метода





Содержание раздела