/* Изменение прототипа */ // Добавление свойства по умолчанию к встроенному объекту String.prototype.color = "black";
// Добавление (изменение) метода к встроенному объекту String.prototype.write = stringWrite;
function stringWrite(){
document.write('this.color + '">');
document.write(this.toString());
document.write(''); }
// используем измененный класс var s = new String("Это строка");
s.color = "red";
s.write();
Важно: К объекту Math нельзя добавлять свойства и методы
Задание js 6_4. Дополните код программы для выполнения задания: К встроенному классу String добавить метод printMe(), который выводит слово «Ура!» как заголовок (тег h…), указанного пользователем уровня (prompt).
Уровень заголовка (1, 2 … 6) можно добавить в виде свойства класса String.
Вспомним, как должны выглядеть теги заголовков в HTML:
Заголовок Дополните код:
1
2
3
4
5
6
7
8
String.prototype.uroven="1";
...
function printZagolovok (){
...
...
}
var s=new ...;
...
Резюме: сравним еще раз два варианта использования пользовательских объектов в JavaScript: Создание объектов-коллекций
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var myBook=new Object();
myBook.title="книга";
myBook.price="200";
alert(myBook["title"]); // 1-й вариант обращения к свойствам alert(meBook.price); // 2-й вариант обращения к свойствам function myBookShow()
{
for (var i in myBook)
{
document.write(i+": "+myBook[i]+"
"); // Перебор свойств }
}
myBook.show=myBookShow;
myBook.show();
Создание классов-конструкторов
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function myBook(title,price){
// определение свойств this.title = title;
this.price = price;
// определение метода this.show = show;
function show()
{
document.write("Название: " + this.title);
document.write("Цена: " + this.price);
}
}
var book = new myBook("Книга", 200);
book.show();
Задание js 6_5. Создать объект-коллекцию Сотрудник, который содержит сведения о сотруднике некоторой фирмы, такие как Имя, Отдел, Телефон, Зарплата и отображает данные об этом сотруднике (создать метод объекта для отображения данных)
Важно: Для объекта-коллекции невозможно создавать экземпляры. Свойства и методы создаются один раз для одного объекта
Задание js 6_6. Создать меню из пунктов-гиперссылок:
Определить класс MenuItem.
Определить свойства: title (название пункта меню или текст гиперссылки), url (значение атрибута href для гиперссылки), метод show (вывод на экран созданного меню).
Добавить 4 пункта меню в виде списка (тег li)
Вспомним код html для создания пунктов меню:
<li><a href="labs-org.ru">Перейти на главную страницуa>li>
<li> ... li>
<li> ... li>
*Сложное: количество пунктов меню, их названия и url необходимо запрашивать у пользователя
Совет: для вывода в методе show() строки на экран воспользуйтесь методом document.write()
Объекты javaScript Location, Navigator, Screen JAVASCRIPT NAVIGATOR Рассмотрим использование объекта Navigator в javaScript на примере:
Пример: Написать функцию, которая выводит на экран:
С помощью выражений с ключевым словом new вы можете создавать экземпляры объектов, то есть их конкретные воплощения.
Более того, благодаря свойству javascript prototype имеется возможность добавлять к объектам новые свойства и методы, придуманные пользователем и отсутствовавшие в исходных встроенных объектах.
Создание объектов можно использовать для создания баз данных.