Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по Программированию в интернете.docx
Скачиваний:
3
Добавлен:
22.09.2019
Размер:
544.18 Кб
Скачать

1.5.4 Определение свойств объекта по умолчанию.

Используя свойство prototype можно назначать свойства всем представителям данного типа, после этого их можно индивидуально переопределить. В следующем примере имена всех руководителей отделов (объект типа department) определяется как null, затем они могут быть изменены

department.prototype.chief=null

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, можно удалять объекты, устанавливая ссылку на пустой указатель (если это - последняя ссылка на объект) в этом случае объект удаляется немедленно.