Відмінності між версіями «ООП в JavaScript»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
Рядок 34: Рядок 34:
 
<tr>
 
<tr>
 
<td width="25%" style="font-style: oblique;">
 
<td width="25%" style="font-style: oblique;">
Атрибут
+
<b>Атрибут</b>
 
</td>
 
</td>
 
<td style="font-style: oblique;">
 
<td style="font-style: oblique;">
Опис Атрибуту
+
<b>Опис Атрибуту</b>
 
</td>
 
</td>
 
</tr>
 
</tr>
Рядок 49: Рядок 49:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>
+
<td style="font-style: oblique;">
 +
DontDelete
 
</td>
 
</td>
 
<td>
 
<td>
 +
Заборона видалення даної властивості. Спроба програмно видалити дану властивість буде проигноровано.
 
</td>
 
</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
<td>
 
<td>
 +
ReadOnly
 
</td>
 
</td>
 
<td>
 
<td>
 +
Заборона зміни цієї властивості. Спроба програмно змінити дану властивість буде проигноровано.
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>

Версія за 11:11, 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

Заборона зміни цієї властивості. Спроба програмно змінити дану властивість буде проигноровано.