Adobe - Flash - Platform Змінні

Змінні дозволяють зберігати значення, які у програмі. Щоб оголосити змінну, необхідно використати інструкцію var з ім'ям змінної. В ActionScript 3.0 використання інструкції var потрібно завжди. Наприклад, у наступному рядку ActionScript оголошується змінна з іменем i :

Значення змінної можна задати за допомогою оператора присвоєння ( = ). Наприклад, у наступному коді оголошується змінна i і призначається їй значення 20.

Можна створити екземпляр класу за допомогою оператора new. У цьому прикладі створюється екземпляр з ім'ям CustomClass і виконується прив'язка новоствореного екземпляра класу змінної з ім'ям customItem .

Якщо оголошено більше однієї змінної, можна оголосити їх у одному рядку коду, використовуючи оператор комою ( , ) для розділення змінних. Наприклад, у наступному програмному коді оголошується три змінні в одному рядку коду.

Також можна призначити значення кожної зі змінних в одному рядку коду. Наприклад, у наступному програмному коді оголошуються три змінні (a, b і c), і кожній з них призначається значення.

Знайомство з областю дії змінної

Області дії змінної є область програмного коду, де дана змінна доступна для лексичних посилань. Змінна Global оголошується для всіх областей програмного коду, а змінна local — тільки для якоїсь його частини. ActionScript 3.0 змінним завжди призначається область дії функції або класу, в якій вони оголошені. Глобальна змінна - це змінна, що визначається поза визначенням будь-якої функції або класу. Наприклад, у наступному програмному коді глобальна змінна strGlobal створюється шляхом оновлення її поза якоюсь функцією. У цьому прикладі показано,що глобальна змінна доступна як поза, і усередині визначення функції.

Якщо ім'я, що використовується для локальної змінної, вже оголошено для глобальної змінної, локальне визначення приховує (або затінює) глобальне визначення, поки локальна змінна знаходиться в області дії. При цьому глобальна змінна, як і раніше, існує поза цією функцією. Наприклад, у наступному програмному коді створюється глобальна рядкова змінна з ім'ям str1 , а потім створюється локальна змінна з тим самим ім'ям функції scopeTest() . Інструкція trace у функції виводить локальне значення цієї змінної, а інструкція trace поза функцією виводить глобальне значення змінної.

Змінні ActionScript на відміну від змінних C++ і Java не мають області дії рівня блоку. Блоком програмного коду є група операторів між фігурною дужкою ( < ) і фігурною дужкою ( >). У деяких мовах програмування, таких як C++ і Java, змінні, оголошені в блоці програмного коду, недоступні поза цим кодом. Це обмеження області дії називається областю дії рівня блоку і немає в ActionScript. Якщо змінна оголошується всередині блоку програмного коду, ця змінна доступна не тільки в цьому блоці коду, але й у всіх частинах функції, якій належить цей блок коду. Наприклад, наступна функція містить змінні, які визначені в різних сферах дії рівня блоку. Усі змінні доступні у всіх частинах функції.

Однак компілятор не буде виконувати підйом будь-яких інструкцій присвоєння. Це пояснює, чому виконання вихідної функції trace() для змінної num в результаті дає NaN (нечислове значення), яке є значенням за умовчаннямзмінних із типом даних Number. Це означає, що можна призначати значення для змінних навіть до того, як вони будуть оголошені, як показано в наведеному нижче прикладі.

Значення за замовчуванням

За замовчуванням значення, яке містить змінну перед тим, як їй буде встановлено значення користувача. Ініціалізація змінної відбувається за першої установки її значення. Якщо оголошується змінна, але не встановлюється значення, ця змінна не ініціалізована. Значення неініціалізованої змінної залежить від її типу даних. У наведеній нижче таблиці описано значення змінних за умовчанням, впорядковані за типами даних.