2179
.pdfif (window.x !== undefined) // аналог typeof
x .
Все свойства объектов - public, т.е. при определении свойства никак нельзя ограничить доступ к свойству. В javascript есть специальные выверты для создания private свойств, связанные с замыканиями. Они рассмотрены вместе с наследованием объектов.
Удаление свойств:
Удаляет свойство оператор delete:
o.test = 5
delete o.test
o['bla'] = true
Расширенное создание:
Свойства можно указывать непосредственно при создании объекта, через список в фигурных скобках вида {..., ключ : значение, ...}:
Var 0 = {
Test: 5,
Bla: true
}
Получившийся объект можно изобразить так:
Методы объектов Добавление методов
Как и в других языках, у объектов javascript есть методы. Например, создадим объект rabbit с методом run
1) var rabbit = {} 2)rabbit.run = function(n) {
3)alert("Пробежал "+n+" метров!")}
Добавление метода в объект - просто присвоение функции function(n) {
... } свойству rabbit.run.
Теперь можно запускать
var rabbit = {}
rabbit.run = function(n) {
alert("Пробежал "+n+" метров!")
120
}
rabbit.run(5) // Пробежал 5 метров
rabbit.run(7) // Пробежал 7 метров
Здесь не идет речь о классах, создании экземпляров и тому подобном. Просто - в любой объект в любое время можно добавить новый метод или удалить существующий.
Доступ к объекту из метода
Обычно хочется, чтобы метод не просто вызывался из объекта, но имел доступ к самому объекту, мог менять находящиеся в нем данные.
Для этого используется ключевое слово this:
for(var key in obj) {
… obj[key] …
}
В отличие от многих языков, this никак не привязано к объекту, а обозначает просто объект, вызвавший функцию.
Например,
function this1() {
var vasya = { name:'Вася' } var petya = { ame:'Петя' }
sayName = function() {
alert("Я - "+ (this.name ? this.name : 'безымянный') )
}
vasya.sayName = sayName
//один и тот же метод в двух объектах petya.sayName = vasya.sayName
//тут - this будет petya petya.sayName() // Я - Петя
//тут - this будет vasya vasya.sayName() // Я - Вася
//а тут - вызывается метод глобального объекта window, у которого нет имени
sayName() // Я - безымянный
}
Перебор свойств объекта
Для перебора всех свойств объекта используется специальный вид конструкции for,for..in:
for(var key in object) {
121
//key - название свойства
//object[key] - значение свойства
...
}
Например,
var o = {a:5, b:true}
for (var key in o) {
alert(key+':'+o[key])
Самостоятельная работа
Написать скрипт формирующий галерею на основе массивов в
JavaScript.
Контрольные вопросы
1.Двухмерные массивы в JavaScript
2.Определение массивов в JavaScript
3.Присваивание значений элементам массива
122
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1.Алексеев, А.П. Введение в WEB-дизайн [Текст]: учеб. пособие для вузов [Гриф УМО] / А.П. Алексеев. – М.: СОЛОН-ПРЕСС, 2008. – 184 с.
2.Евсеев, Д.А. Web-дизайн в примерах и задачах [Текст]: учеб. пособие для вузов [Гриф УМО] / Д.А. Евсеев, В.Р. Трофимов; под. ред. В.В. Трофимова. – М.: КНОРУС, 2010. – 272 с.
3.Рейсинг, Джон. JavaScript. Профессиональные приемы программирования [Текст]: учеб. пособие / Джон Рейсинг. – СПб.: Питер, 2008. – 351 с.
4.Сырых, Ю.А. Современный веб-дизайн. Рисуем сайт, который продает [Текст] / Ю.А. Сырых. – М.: ООО «И.Д. Вильямс», 2008. – 304 с.
123
|
|
ОГЛАВЛЕНИЕ |
|
|
Введение |
3 |
|
|
1. |
Теоретические сведения |
4 |
1.1. |
Основы НТМL |
4 |
|
1.2. |
Основы CSS |
10 |
|
1.3. |
Основы Java Script |
18 |
|
1.4. |
DHTML |
|
50 |
1.5. |
Создание анимационных объектов |
55 |
|
1.6. |
Слои |
|
59 |
1.7. |
Основы РНР |
64 |
|
1.8. |
Передача параметров. Работа с формами. |
95 |
|
|
2. |
Лабораторные работы |
107 |
2.1. |
Лабораторная работа № 1 |
107 |
|
2.2. Лабораторная работа № 2 |
110 |
||
2.3. Лабораторная работа № 3 |
115 |
||
2.4. Лабораторная работа № 4 |
117 |
||
2.5. |
Лабораторная работа № 5 |
118 |
|
|
Библиографический список |
123 |
124
Учебное издание
Суворов Александр Петрович Проценко Вера Николаевна Золототрубова Юлия Сергеевна
Web-ДИЗАЙН:
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
В авторской редакции
Подписано к изданию 20.12.2017. Объем данных 1,2 Мб.
ФГБОУ ВО “Воронежский государственный технический университет” 394026 Воронеж, Московский просп., 14
125