Значення, Змінні та Літерали

У розділі є такі розділи:

Цей порівняно невеликий набір типів значень, аботипів даних, дає змогу виконувати різні функції. Відсутня явна різниця між цілими та реальними числами. Немає також типу даних date. Однак Ви можете використовувати об'єкт Date та його методи для роботи з датами.

Об'єкти та функції також є основними елементами мови. Можна вважати об'єкти іменованими контейнерами значень, а функції - процедурами, які Ваша програма виконує.

Конвертація типів даних

і пізніше присвоїти цій же змінній рядкове значення, наприклад,

Ви використовуєте змінні як символічні назви для значень. Ви даєте змінної ім'я, яким Ви посилаєтеся неї і яке має відповідати певним вимогам.

Ось деякі приклади правильних імен: Number_hits, temp99, _name.

Оголошення змінних

Ви можете оголосити змінну двома способами:

  • Просто надавши їй значення. Наприклад, x = 42
  • За допомогою ключового слова var. Наприклад, var x = 42

Обчислення змінних

Змінна або елемент масиву, яким не надано значення, мають значення undefined . Результат обчислення змінної, що не має присвоєного значення, залежить від того, як вона була оголошена:

  • Якщо змінна без наданого значення була оголошена без використання var, обчислення призведе до помилки часу виконання/runtime error.
  • Якщо змінна без наданого значення була оголошена з використанням var, обчислення дасть значення undefined, або NaN - у числовому контексті.

Наступний код демонструє обчисленнязмінних, які мають присвоєного значення:

Можна використовувати undefined , щоб визначити, чи змінна значення. У наступному коді змінної input не надано значення, і оператор if обчислюється в true .

Значення undefined веде себе як false при використанні як Бульова значення. Наприклад, наступний код виконує функцію myFunction, оскільки елемент масиву не визначений:

Якщо обчислюється змінна зі значенням null, то значення null працює як 0 у числовому контексті як false - у Булевому контексті. Наприклад:

Область видимості змінної

Якщо Ви встановлюєте ідентифікатор змінної шляхом присвоєння поза функцією, така змінна називаєтьсяглобальною, оскільки доступна в будь-якому місці документа. Якщо Ви оголошуєте змінну всередині функції, вона називаєтьсялокальною змінною, оскільки доступна тільки всередині цієї функції.

Ви можете отримати доступ до глобальних змінних, оголошених в одному вікні або кадрі, з іншого вікна або кадру, специфікуючи ім'я вікна або кадру. Наприклад, якщо змінна phoneNumber оголошується у документі FRAMESET , Ви можете звернутися до цієї змінної з дочірнього кадру так: parent.phoneNumber .

Літерали масиву

Літерал масиву це список із 0 або більше виразів, кожен з яких представляє елемент масиву, укладений у квадратні дужки ([]). Якщо Ви створюєте масив з використанням літералу масиву, він ініціалізується специфікованими значеннями як елементи і отримує розмір, що дорівнює кількості специфікованих аргументів.

У цьому прикладі створюється масив coffees з трьох елементів, що має розмір 3:

ПРИМІТКА:Літерал масиву це тип ініціалізатора об'єкта. "Використання ініціалізаторів"Об'єктів”.

Літерали масиву є також Array-об'єктами. Див. у розділі "Об'єкт Array" детальну інформацію про об'єкти Array .

Зайві коми в літералах масиву

Ви не повинні специфікувати всі елементи у літералі масиву. Якщо Ви помістите поспіль дві коми, створюється масив із пробілами для неспеціфікованих значень. У наступному прикладі створюється масив fish:

У цьому масиві є два елементи зі значеннями і один порожній елемент (fish[0] дорівнює "Lion", fish[1] дорівнює undefined, fish[2] дорівнює "Angel"):

Якщо Ви вставили провідну кому в кінці списку елементів, ця кома ігнорується. У прикладі розмір масиву дорівнює 3. Елементу myList[3] немає. Всі інші коми у списку позначають новий елемент.

У прикладі розмір масиву дорівнює 4, а елемент myList[0] відсутній.

У прикладі розмір масиву дорівнює 4, а елемент myList[3] відсутній. Ігнорується тільки остання кома. Ця ведена кома не обов'язкова.

Бульові літерали

Тип Boolean має два літеральні значення: true і false .

Не плутайте Булеві значення true та false зі значеннями true та false об'єкта Boolean. Об'єкт Boolean є оболонкою для примітивного типу Boolean даних. "Об'єкт Boolean".

Літерали з плаваючою точкою

Літерал з плаваючою точкою може мати такі складові:

  • десяткове ціле
  • десяткова точка (".")
  • дробова частина (інше 10-річне число)
  • експонента

Частина "експонента" - це англійська літера "e" або "E" з наступним цілим числом, яке може мати знак (попередній "+" або "-"). Літерал з плаваючою точкою повинен мати як мінімум одну цифру та десяткову точку, або "e" (або "E").

Ось деякі приклади літералів з плаваючою точкою: 3.1415, -3.1E12, .1e12, 2E-12

Цілі числа

Цілі числа можуть бути десятирічними (база 10), 16-річними (база 16) та 8-річними (база 8). Десятеричний цілочисленний літерал складається із послідовності цифр без провідного нуля (0). Ведучий 0 (нуль) у цілочисленному літералі означає, що це вісімкове число; провідні символи 0x (або 0X) вказують, це 16-річне число. 16-річні цифри можуть складатися з цифр (0-9) та англійських букв a-f та A-F. Восьмеричні цілі можуть складатися лише з цифр 0-7.

Ось приклади цілих літералів: 42, 0xFFF, -345.

Літерали об'єкта

Літерал об'єкта це список із 0 або більше пар з імен властивостей об'єкта та їх значень, укладений у фігурні дужки (<>). Ви не повинні використовувати літерал об'єкта на початку оператора. Це спричинить помилку.

Далі йде приклад літералу об'єкта. Перший елемент об'єкта car визначає властивість myCar; другий елемент, властивість getCar, викликає функцію (Cars("honda")); третій елемент, властивість special, використовує існуючу змінну (Sales).

Крім того, можна використовувати індексування об'єкта, властивість index (наприклад, 7), або вкладати об'єкти один в одного. У цьому прикладі використовуються ці можливості, однак вони можуть не підтримуватися іншими браузерами, сумісними з ECMA.

Рядкові літерали

Рядковий літерал це 0 або більше символів, укладених у подвійні (") або одинарні (') лапки. Рядок повинен бути обмежений лапками одного виду; тобто, обидва знаки повинні бути" або '. Ось приклади рядкових літералів:

"перший рядок \n другий рядок"

Ви повинні використовувати строкові літерали, якщо Вам не потрібно спеціально використовувати об'єктString. також "Об'єкт String".

Використання спеціальних символів у рядках

Крім звичайних символів, Ви можете також включати до рядків спеціальні символи, як показано в наведеному нижче прикладі.

Form feed/прогін сторінки

New line/новий рядок

Carriage return/повернення каретки

Апостроф або одинарна лапка

Заміна символів/Escaping

Для символів, не зазначених у Таблиці 2.1, попередній backslash ігнорується, за винятком знака лапки та самого символу backslash (\).

Ви можете вставити знак лапки всередині рядка, ввівши перед ним backslash. Це відомо якescaping\заміназнака лапки. Наприклад,

В результаті буде виведено:

He read "The Cremation of Sam McGee" R.W. Service.

Для включення в рядок літерального backslash Ви зобов'язані escape-і backslash. Наприклад, для присвоєння рядку шляху до файлу c:\temp запишіть так:

Unicode є універсальним стандартом кодування символів для обміну та відображення символів основних письмових мов. Він покриває мови Америки, Європи, Середнього Сходу, Африки, Індії, Азії та Океанії, а також мертві мови та технічні символи. Unicode дає можливість передавати, обробляти та відображати багатомовні тексти, а також використовувати загальноприйняті математичні та технічні символи. Таким чином, передбачається вирішити проблеми інтернаціоналізації в багатомовному комп'ютерному середовищі, такі як різні національні символьні стандарти. Не всі сучасні та архаїчні види письма, проте, підтримуються нині.

Набір символів Unicode можна використовувати для всіх відомих кодувань. Unicode змодельовано після набору ASCII (American Standard Code for Information Interchange). У ньому використовується числовезначення та ім'я для кожного символу. Кодування символів специфікує ідентифікацію символу та числове значення (кодову позицію), а також бітове подання цього значення. 16-бітове числове значення (кодове значення) визначається 16-річним числом та префіксом U, наприклад, U+0041 представляє літеру A. Унікальне ім'я для цього символу – LATIN CAPITAL LETTER A.

Сумісність Unicode з ASCII та ISO

Unicode сумісний із символами ASCII та підтримується багатьма програмами. Перші 128 символів Unicode відповідають символам ASCII та мають ті ж байтові значення. Символи Unicode з U+0020 до U+007E еквівалентні символам ASCII з 0x20 до 0x7E. На відміну від ASCII, який підтримує латинський алфавіт та використовує набір 7-бітових символів, Unicode використовує 16-бітове значення для кожного символу. Це дозволяє кодувати десятки тисяч символів. Unicode версії 2.0 містить 38885 символів. Він також підтримує механізм розширення Transformation Format (UTF), званий UTF-16, який дозволяє кодувати більше мільйона символів шляхом використання 16-бітових пар. UTF включає кодування у реальні біти.

Unicode повністю сумісний із International Standard ISO/IEC 10646-1; 1993, який є піднабором ISO 10646, і підтримує ISO UCS-2 (Universal Character Set), який використовує два вісімкові значення (два байти або 16 біт).

Escape-послідовності Unicode

У таблиці перераховані спеціальні символи, що часто використовуються, та їх Unicode-значення.