Курс "SYS Admin" модуль SYS-2 - занятие 2

Выбор занятия

Выберите текущее занятие

Все материалы предоставлены в образовательных целях. Для пополнения базы материалов или цитат присылайте свои тексты на эл. почту (внизу страницы).

JavaScript

Классы, объекты, массивы

JОбъекты (они же - ассоциативные массивы, хэши) и работа с ними в Javascript - реализованы не так, как в большинстве языков. С этим связано много ошибок и непоняток.

Объект в javascript представляет собой обычный ассоциативный массив или, иначе говоря, "хэш". Он хранит любые соответствия "ключ => значение" и имеет несколько стандартных методов.
Метод объекта в javascript - это просто функция, которая добавлена в ассоциативный массив.

Следующие два варианта создания объекта эквивалентны:
// эквивалентные записи
var o = new Object()
var o = {}

Есть два синтаксиса добавления свойств в объект. Первый - точка, второй - квадратные скобки:
// эквивалентные записи
o.test = 5
o["test"] = 5

Квадратные скобки используются в основном, когда название свойства находится в переменной:
var name = 'test'
o[name] = 5

Здесь имя свойства "test" является ключом в ассоциативном массиве, по которому лежит значение 5.

Доступ к свойству осуществляется точно так же:
alert(o.test)
alert(o['test'])

Если у объекта нет такого свойства, то результат будет 'undefined'
var o = {}
alert(o.nosuchkey) // => undefined
Никакой ошибки при обращении по несуществующему свойству не будет, просто вернется специальное значение undefined.

Удаляет свойство оператор delete:
o.test = 5
delete o.test

Как и в других языках, у объектов javascript есть методы.
Например, создадим объект rabbit с методом run
var rabbit = {}
rabbit.run = function(n) {
alert("Пробежал "+n+" метров!")
}

Добавление метода в объект - просто присвоение функции function(n) { ... } свойству rabbit.run.
rabbit.run(5) // Пробежал 5 метров
rabbit.run(7) // Пробежал 7 метров

При декорировании текста, свойство - text-decoration, будьте благоразумны используя подчеркивание текста - это может ввести в заблуждение посетителя страницы, он может подумать, что данный текст является ссылкой.