Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи мови JavaScript.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.04 Mб
Скачать

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.