Сборка от 17 марта 2017 г


Объекты как ассоциативные массивы



Download 9,9 Mb.
bet107/349
Sana26.04.2022
Hajmi9,9 Mb.
#582433
TuriУчебник
1   ...   103   104   105   106   107   108   109   110   ...   349
Bog'liq
ilja kantor sovremennyj uchebnik-1chast PdfToWord

Объекты как ассоциативные массивы


Объекты в JavaScript сочетают в себе два важных функционала.


Первый – это ассоциативный массив: структура, пригодная для хранения любых данных. В этой главе мы рассмотрим использование объектов именно как массивов.


Второй – языковые возможности для объектно‑ориентированного программирования. Эти возможности мы изучим в последующих разделах учебника.


Ассоциативные массивы


Ассоциативный массив – структура данных, в которой можно хранить любые данные в формате ключ‑значение.


Её можно легко представить как шкаф с подписанными ящиками. Все данные хранятся в ящичках. По имени можно легко найти ящик и взять то значение, которое в нём лежит.


В отличие от реальных шкафов, в ассоциативный массив можно в любой момент добавить новые именованные «ящики» или удалить существующие. Далее мы увидим примеры, как это делается.


Кстати, в других языках программирования такую структуру данных также называют «словарь» и «хэш».


Создание объектов


Пустой объект («пустой шкаф») может быть создан одним из двух синтаксисов:





  1. o = new Object();

  2. o = {}; // пустые фигурные скобки

Обычно все пользуются синтаксисом (2) , т.к. он короче.


Операции с объектом


Объект может содержать в себе любые значения, которые называются свойствами объекта. Доступ к свойствам осуществляется по имени свойства


(иногда говорят «по ключу»).

Например, создадим объект person для хранения информации о человеке:


var person = {}; // пока пустой




Основные операции с объектами – это создание, получение и удаление свойств.


Для обращения к свойствам используется запись «через точку», вида объект.свойство , например:


// при присвоении свойства в объекте автоматически создаётся "ящик"


// с именем "name" и в него записывается содержимое 'Вася' person.name = 'Вася';

person.age = 25; // запишем ещё одно свойство: с именем 'age' и значением 25




Значения хранятся «внутри» ящиков. Обратим внимание – любые значения, любых типов: число, строка – не важно. Чтобы прочитать их – также обратимся через точку:


alert( person.name + ': ' + person.age ); // "Вася: 25"


Удаление осуществляется оператором delete :


delete person.age;


Осталось только свойство name :


Иногда бывает нужно проверить, есть ли в объекте свойство с определенным ключом. Для этого есть особый оператор: "in" .


Его синтаксис: "prop" in obj , причем имя свойства – в виде строки, например:

if ("name" in person) {


alert( "Свойство name существует!" );
}

Впрочем, чаще используется другой способ – сравнение значения с undefined .


Дело в том, что в JavaScript можно обратиться к любому свойству объекта, даже если его нет. Ошибки не будет.

Но если свойство не существует, то вернется специальное значение undefined :

var person = {};


alert( person.lalala ); // undefined, нет свойства с ключом lalala


Таким образом мы можем легко проверить существование свойства – получив его и сравнив с undefined :


var person = { name: "Василий"


};

alert( person.lalala === undefined ); // true, свойства нет alert( person.name === undefined ); // false, свойство есть.






Download 9,9 Mb.

Do'stlaringiz bilan baham:
1   ...   103   104   105   106   107   108   109   110   ...   349




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish