1.6 Методы.
Определение методов. Метод - функция, связанная с объектом. Метод
определяется таким же способом, что и стандартная функция, для ассоциации
с существующим объектом используется следующий синтаксис:
object.methodname = function_name
где object - существующий объект, methodname - имя, которое назначается
методу, function_name - имя функции. Метод вызывается следующим образом:
Object.methodname (params);
Можно определить методы для объекта в его конструкторе, например можно
определить функцию, которая выводит свойства ранее определенного объекта
department:
function displayDep() {
var result = " this.name + " " + this.chief
+ " " + this.number_of_workers
show_props (result)
}
где show_props - функция из раздела "Функции" Можно включить эту функцию
в качестве метода department, добавив в конструктор строку
this.displayDep = displayDep;
То есть полное определение объекта department будет выглядеть так:
function department(name, chief, number_of_workers, collab) {
this.name = name
this.chief = chief
this.number_of_workers = number_of_workers
this.collab =collab
this.displayDep = displayDep
}
Тогда вызов метода displayDep для конкретных экземпляров выполняется
следующим образом :
ourdep.displayDep()
iu6dep.displayDep()
1.6.1 Использование this для ссылок на объект.
JavaScript имеет специальное ключевое слово this, которое можно использовать
в пределах метода по отношению к текущему объекту. Например, предположим,
что имеем функцию, названную validate, которая проверяет значение объекта
на нахождение его в заданных пределах, если значение объекта не входит
в указанные пределы, выводится аварийный бокс:
function validate(obj, lowval, hival) {
if ((obj.value < lowval) || (obj.value > hival))
alert("Invalid Value!")
}
Теперь можно вызвать validate в обработчике событий (см.далее) onChange
при заполнении формы:
<INPUT TYPE = "text" NAME = "age" SIZE = 3 onChange="validate(this,
18, 99)">
Здесь this относится к вызывающему объекту. При комбинировании со свойствами
формы this может относиться к текущей форме родительского объекта. В следующем
примере форма myForm содержит объекты text и button. Когда пользователь
нажимает кнопку, значение объекта text устанавливается равным имени формы.
Обработчик событий onClick использует this.form для ссылки на родительскую
форму myForm.
<FORM NAME="myForm">
Form name:<INPUT TYPE="text" NAME="text1" VALUE="Moscow">
<P> <INPUT NAME="button1" TYPE="button"
VALUE="Show Form Name" onClick="this.form.text1.value=this.form.name">
</FORM>
1.6.2 Удаление объекта.
В JavaScript для Navigator 2.0 нельзя удалять объекты - они существуют,
пока вы не покинете страницу, содержащую объект. В JavaScript для Navigator
3.0, можно удалять объекты, устанавливая ссылку на пустой указатель (если
это - последняя ссылка на объект) в этом случае объект удаляется немедленно.
[ Оглавление ] [ Дальше ]
|