Відмінності між версіями «ООП в JavaScript»
Рядок 69: | Рядок 69: | ||
</code> | </code> | ||
Тепер наш об'єкт має 2 властивості: <b>name</b> та <b>value</b>. У таких властивостей, створених користувачем, всі перераховані вище атрибути скинуті в <b>false</b>. Надалі ми можемо змінювати значення цих властивостей або переглядати.<br> | Тепер наш об'єкт має 2 властивості: <b>name</b> та <b>value</b>. У таких властивостей, створених користувачем, всі перераховані вище атрибути скинуті в <b>false</b>. Надалі ми можемо змінювати значення цих властивостей або переглядати.<br> | ||
− | [[Створення об'єкта]] | + | <br> |
− | [[Створення методів]] | + | Розглянемо наступні ключові моменти:<br> |
− | [[Прототипи об'єктів]] | + | <ul> |
− | [[Видалення об'єктів]] | + | <li>[[Створення об'єкта]]</li> |
− | [[Наслідування]] | + | <li>[[Створення методів]]</li> |
+ | <li>[[Прототипи об'єктів]]</li> | ||
+ | <li>[[Видалення об'єктів]]</li> | ||
+ | <li>[[Наслідування]]</li> | ||
+ | </ul> |
Версія за 11:29, 22 квітня 2010
Теоретичний опис принципів ООП в JavaScript може заняти дуже багато часу, і викликати багато суперечок навколо питання чи взагалі існують класи в JavaScript. Я не буду на цьому зупинятися, а відразу дам відповідь: Класів в JavaScript НЕМАЄ
JavaScript -- це мова програмування, яка базується на об`єктах.
Всі об'єкти поділяються на 3 групи:
- вбудовані об'єкти виконуючої системи
- об'єкти середовища, в якому виконується сценарій
- користувацькі об'єкти
об'єкт JavaScript -- це неупорядкований набір властивостей.
Доступ до властивостей об'єктів:
-за допомогою точки
alert (AnimationObject.framesPerSecond); / / object.property
-за допомогою квадратних дужок
alert (AnimationObject ['framesPerSecond']); / / object ['property']
Метод -- це властивість, що є функцією.
Приклад синтаксису доступу до властивості об'єкту:
імя_об'єкта.імя_властивості
або
імя_об'єкта["імя_властивості"]
Останній синтаксис використовується оператором for ... in
Кожне властивість складається з назви, значення і набору наступних атрибутів:
Атрибут |
Опис Атрибуту |
DontEnum |
Чи повинна властивість попадати в перелічення при обході оператором for..in |
DontDelete |
Заборона видалення даної властивості. Спроба програмно видалити дану властивість буде проигноровано. |
ReadOnly |
Заборона зміни цієї властивості. Спроба програмно змінити дану властивість буде проигноровано. |
Нова властивість об'єкту створюється просто присвоюванням йому значення. Нехай, наприклад, ми вже створили об'єкт MyObj. Задамо йому ім'я, та, наприклад, якесь значення:
MyObj.name = "Мій Об'єкт";
MyObj.value = 256;
Тепер наш об'єкт має 2 властивості: name та value. У таких властивостей, створених користувачем, всі перераховані вище атрибути скинуті в false. Надалі ми можемо змінювати значення цих властивостей або переглядати.
Розглянемо наступні ключові моменти: