Работа с объеками в JavaScript


Прототип — объект, определяющий структуру Рассмотрим работу с прототипами на примере



бет4/4
Дата01.09.2022
өлшемі38,72 Kb.
#148607
түріРешение
1   2   3   4
Байланысты:
Работа с объеками в JavaScript

Прототип — объект, определяющий структуру
Рассмотрим работу с прототипами на примере:

1
2
3
4
5
6
7
8
9
10
11
12
13
14



/* Изменение прототипа */
// Добавление свойства по умолчанию к встроенному объекту
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. Создание объектов-коллекций

    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();

  2. Создание классов-конструкторов

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 на примере:
Пример: Написать функцию, которая выводит на экран:

  • название браузера

  • язык браузера

  • название ОС

  • включены ли куки

  • подключен ли пользователь к интернету

  • разрешение экрана

  • глубину цвета

  • адрес загруженной страницы

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15



var option;
// вывод всех свойств объекта navigator
for (option in navigator){
document.write(option + ' : ' + navigator[option]+ '
');
}
// функция выовда конкретных свойств объекта navigator
function userDetails (){
document.write("
Название браузера: " + navigator.userAgent + "
");
document.write("Язык браузера: " + navigator.language + "
");
document.write("Название ОС: " + navigator.oscpu + "
");
document.write("Включены ли куки: " + navigator.cookieEnabled + "
");
document.write("Подключен ли Интернет: " + navigator.nLine + "
");
}
userDetails();

ОБЪЕКТ JAVASCRIPT SCREEN
Рассмотрим использование объекта Screenв javaScript на примере:

1
2
3
4
5



function userDetails (){
document.write("Разрешение: " + screen.width + " x " + screen.height + "
");
document.write("Глубина цвета: " + screen.colorDepth + " x " + screen.height + "
");
}
userDetails();

ОБЪЕКТ JAVASCRIPT LOCATION
Рассмотрим использование объекта Locationв javaScript на примере:

1
2
3
4



function userDetails (){
document.write("Адрес загруженной страницы: " + location.href + "
");
}
userDetails();


Выводы:

  • С помощью выражений с ключевым словом new вы можете создавать экземпляры объектов, то есть их конкретные воплощения.

  • Более того, благодаря свойству javascript prototype имеется возможность добавлять к объектам новые свойства и методы, придуманные пользователем и отсутствовавшие в исходных встроенных объектах.

  • Создание объектов можно использовать для создания баз данных.


Достарыңызбен бөлісу:
1   2   3   4




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет