
- •1. Основні поняття
- •1.1. Сім варіацій на тему "Hello, world! "
- •1.1.1. Варіація перша: сама проста
- •1.1.2. Варіація друга: із секретним вихідним текстом
- •1.1.3. Варіація третя: із переменной і функціями
- •1.1.4. Варіація четверта: створення сторінки "на літу"
- •1.1.5. Варіація п'ята: із діалоговою панеллю
- •1.1.6. Варіація шоста: опрацювання події
- •1.1.7. Варіація сьома: із визначенням типу браузера
- •1.2. Перемінні в JavaScript
- •1.2.1. Оголошення перемінних
- •1.2.2. Присвоєння значення перемінним
- •1.2.3. Типи даних
- •1.2.4. Перетворення типів даних
- •1.3. Оператори мови JavaScript
- •1.3.1. Унарные оператори
- •1.3.2. Бинарные оператори
- •1.3.3. Оператори для роботи з окремими бітами
- •1.3.4. Оператори зсуву
- •1.3.5. Оператори відношення
- •1.3.6. Логічні оператори
- •1.3.7. Оператор присвоювання
- •1.3.8. Умовні оператори
- •1.3.9. Оператори циклу
- •1.3.10. Інші оператори
- •1.3.11. Старшинство операторів JavaScript
- •1.3.12. Функції в мові сценаріїв JavaScript
- •1.4. Приклади використання операторів циклу
- •2. Класи і об'єкти
- •2.1. Три типи об'єктів «JavaScript
- •2.1.1. Умонтовані об'єкти
- •2.1.2. Об'єкти браузера
- •2.1.3. Об'єкти на базі класів, утворюваних програмістом
- •2.2. Масиви в JavaScript
- •2.3.1. Властивості об'єкта window
- •2.3.2. Методи об'єкта window
- •2.4. Сценарії, що працюють з об'єктами window
- •2.4.1. Як закрити вікно браузера
- •2.4.2. Открываем нове окно
- •2.4.3. Текст , що біжить , у рядку стани браузера
- •2.4.4. Обмеження часу реакції користувача
- •2.4.5. Завантаження документа html у вікно браузера
- •2.5.1. Властивості об'єкта document
- •2.5.2. Методи об'єкта document
- •2.5.3. Колірне оформлення документа
- •2.5.4. Посилання і мітки в документі
- •2.6. Умонтований клас Math
- •2.6.1. Властивості
- •2.6.2. Методи
- •2.7. Умонтований клас Date
- •2.7.1. Конструктори класу Date
- •2.8. Умонтовані функції
- •2.9. Плавна зміна цвіту фона документа html
- •3. Робота з формами
- •3.1. Ієрархія об'єктів у формах
- •3.2. Форма і її властивості
- •3.2.2. Властивості об'єкта form
- •3.3. Об'єкти, що входять до складу форм
- •3.3.1. Кнопка button
- •3.3.2. Перемикач checkbox
- •3.3.3. Перемикач radio
- •3.3.4. Приклад форми з перемикачами
- •3.3.5. Список select
- •3.3.6. Приклади сценаріїв, що працюють із списками
- •3.3.7. Однострочное поле text
- •3.3.8. Перевірка анкети
- •3.3.9. Многострочное поле textarea
- •3.3.10. Приклад сценарію, що заповнює поле textarea
- •3.3.11. Однострочное поле password
- •3.3.12. Запровадження ідентифікатора і пароля
- •3.4. Перевірка заповнення форми
- •3.5. Шестнадцатеричный калькулятор
- •3.3.6. Електронні часи
- •4. Фреймы
- •4.1. Файл опису фреймов
- •4.2. Взаємодія між фреймами
- •4.2.1. Десятично-шестнадцатеричный перетворювач
- •4.2.2. Відображення декількох документів html
- •5. Растровые зображення
- •5.1. Растровое зображення як об'єкт
- •5.2. Динамічна заміна растровых зображень
- •5.2.1. Зміна зовнішнього вигляду графічних посилань
- •5.2.2. Створення анімаційних зображень
- •5.2.3. Чекання завантаження всіх зображень
- •6. Взаємодія з аплетами java
- •6.1. Вбудовування аплета Java у документ html
- •6.2. Виклик методів аплета Java із сценарію JavaScript
- •6.3. Доступ до полів аплета Java із сценарію JavaScript
- •6.4. Динамічне завантаження аплетов Java
- •7. Застосування cookie
- •7.1. Виконання основних операцій із cookie
- •7.1.1. Створення cookie
- •7.1.2. Одержання значення cookie
- •7.1.3. Зміна значення параметра cookie
- •7.1.4. Видалення cookie
- •7.1.5. Обмеження на використання cookie
- •7.2. Декілька прикладів використання cookie
- •7.2.1. Фіксація повторних провідин сторінки
- •7.2.2. Записна книжка Cookies Notepad
- •7.2.3. Настроювання параметрів документа html
- •7.2.5. Одержання cookie розширенням серверу Web
- •7.2.6. Лічильник провідин на базі cookie і програми cgi
- •7.3. Настроювання браузера для роботи з cookie
1.2.2. Присвоєння значення перемінним
Можливо привласнити значення перемінної за допомогою оператора присвоєння =. Наприклад, нижче об'являється перемінна і потім записується в її текстовий рядок:
var szHelloMsg;
szHelloMsg = "Hello, world! ";
У будь-якому місці програми можна привласнити перемінної szHelloMsg чисельне значення, наприклад так:
szHelloMsg = 4;
Після виконання такої операції тип перемінної зміниться, причому в процесі інтепретації сценарію браузер не відобразить ніяких попереджуючих повідомлень.
Можливо привласнити перемінної спеціальне значення null:
szHelloMsg = null;
Таке присвоєння не призначає перемінної ніякого типу. Воно застосовується в тих випадках, коли потрібно оголосити перемінну і проинициализировать її, не привласнюючи цей перемінної ніякого початкового значення і типу.
1.2.3. Типи даних
У мові JavaScript усе ж існує декілька типів даних. Це числа, текстові рядки, логічні дані, об'єкти, дані невизначеного типу, а також спеціальний тип null.
Числа
Припускається використання чисел у різноманітних форматах. Це ціле число, числа у форматі з плаваючою десятковою точкою і числа в науковій нотації. Цілі числа можуть бути подані по підставі 8, 10 або 16. Наприклад:
Приклад Опис
25 Ціле число по підставі 10
0137 Ціле число по підставі 8
OxFF Ціле число по підставі 16
386.7 Число з плаваючою десятковою точкою
25е5 або 25Е5 Число в науковій нотації, дорівнює 2500000
У деяких випадках арифметичні функції можуть повертати "не число", що називається в JavaScript як Na (Not a Number) - це спеціальне значення, що не відповідає ніякому числу.
Текстові рядки
Текстові рядки - це послідовність символів Unicode, заключенных в одинарні або подвійні лапки, наприклад:
"Hello, world! "
"12345" 'ЭTO текстова строка'
Рядок " " - порожня. Зауважимо, що такі два присвоєння не еквівалентні:
szStr=""
szStrl=null
У першому випадку в перемінної szStr зберігається текстовий рядок (хоча б і порожня), у другому - зовсім нічого.
Логічні дані
Логічні дані можуть мати тільки два значення: true і false. Ці значення ніяк не співвідносяться з числами 1 і 0.
Дані невизначеного типу
Якщо перемінна була оголошена, але їй ще жодного разу не присвоювалося значення, вона має невизначений тип. Наприклад, у такому рядку сценарію оголошена перемінна MyVariable, що має невизначений тип:
var MyVariable;
Якщо ж цей перемінної привласнити значення null, те тип перемінної зміниться - тепер це буде переменная, що містить значення null:
MyVariable = null;
1.2.4. Перетворення типів даних
Інтерпретатор JavaScript може автоматично перетворювати чисельні дані в текстові рядки. Обернене ж перетворення (рядків у числа) припадає виконувати за допомогою спеціальних функцій, таких, як parseInt і parseFloat.
Пояснимо це на прикладі (листинг 1.9).
Листинг 1.9. Файл Conversion/Conversion. html
<HTML>
<HEAD>
<TITLE>Type conversion sample</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<Hl>Type conversion sample</Hl>
<TABLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var szTextBuf = "";
szTextBuf = 4 + " - число чотири" + "<BR>";
szBuf2 = (parseInt ("2") + 2) + " - число чотири" +
"<BR>";
document.write(szTextBuf + szBuf2);
//-->
</SCRIPT>
</TABLE>
</BODY>
</HTML>
Тут оголошена перемінна szTextBuf і проинициализирована порожнім рядком. Далі привласнена цьому рядку сума числа 4 і двох текстових рядків:
szTextBuf = 4 + " - число чотири" + "<BR>";
При обчисленні цього вираження значення 4 було автоматично перетворено в текстовий рядок. Подальше підсумовування виконувалося як злиття (конкатенация) трьох текстових рядків.
Символ прогалини, що не розділяє, використовується в документах HTML, щоб після конкатенации рядків прогалина не зникала.
У такому рядку преобразовывается текстовий рядок "2" у чисельне значення за допомогою функції parseInt, додається до результату перетворення число 2, а потім виконується конкатенация з двома текстовими рядками:
szBuf2 = (parseint ("2")+2)+" - число чотири" + "<BR>";
У результаті перемінна szBuf2 буде містити ту ж самий рядок, що містить і перемінна szTextBuf, у чому неважко переконатися, подивившись на мал. 1.8.