Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
03.03.2016
Размер:
174.08 Кб
Скачать

Рассматривая этот пример,

предположим, что есть некий новый объект с названием emailAddr,

в котором каждому объекту person ставится в соответствие

определенный адрес электронной почты.

42

Этот объект определяется следующим образом:

function emailAddr (name_arg, addr_arg)

{

this.e_name = name_arg; this.e_address = addr_arg;

}

Тогда можно создать два новых объекта emailAddr следующим образом:

43

e1 = new emailAddr (p1, "petrov@pmi.donetsk.ua");

e2 = new emailAddr (p2, "ivanov@pmi.donetsk.ua");

Чтобы получить адрес электронной почты человека с фамилией Петров, надо воспользоваться записью e1.e_name.name.

44

Добавление новых свойств объектов

При помощи операции присваивания в существующий объект можно добавить новое свойство.

Например, оператор

joe = new person (“Иванов”); создает новый объект типа person с

именем joe, который имеет только одно свойство - name.

45

Теперь при выполнении оператора joe.age = 30;

в этот объект joe будет добавлено новое свойство age.

При этом другие объекты типа person останутся нетронутыми,

то есть свойство age будет иметь только экземпляр объекта joe.

46

Удаление объектов и свойств

Удалить объект или его свойство можно путем присваивания объекту или свойству значение null.

После удаления объекта или свойства обратиться к нему будет невозможно.

47

Создание методов (для третьего способа)

Метод определяется так же как и обычная функция программы,

а потом связывается с объектом, используя синтаксис

object.methodName = function_Name; где

object - имя существующего объекта; methodName - имя связанного метода; function_Name - имя функции.

48

Внимание: При связывании метода с функцией не указываются круглые скобки ().

Если Вы укажите круглые скобки, то это будет не связывание, а вызов созданной функции.

Для вызова метода используется синтаксис:

object.methodName (parameters);

То есть при вызове метода используются параметры, которые были определены при создании функции.

49

Определение метода можно включать в определение объекта.

Создадим новую функцию для вывода всей информации о человеке:

function show_Details ()

{

var persDet =

"Name: " + this.e_name.name + "\n" + "Email: " + this.e_address;

alert (persDet);

}

50

 

Изменим определение функции emailAddr, чтобы включить в нее ссылку на функцию show_Details():

function emailAddr (name_arg, addr_arg)

{

this.e_name

= name_arg;

this.e_address

= addr_arg;

this.showDetails

= show_Details;

}

51

Соседние файлы в папке Лекции