Змінні в JavaScript. JavaScript: Оголошення змінних Js оголошення змінних

Змінні служать "контейнерами" для зберігання інформації.

Ви Пам'ятайте Шкільну Алгебру?

Ви пам'ятаєте шкільну алгебру? x = 5, y = 6, z = x + y

Ви пам'ятаєте, що буква (наприклад x) могла б використовуватися для зберігання значення (наприклад 5), і що ви могли б використовувати інформацію вище, щоб обчислити, що значення z дорівнює 11?

Ці букви називаються змінними, І змінні можуть використовуватися для зберігання значень (x = 5) або виразів (z = x + y).

змінні JavaScript

Так само як в алгебрі, змінні JavaScript використовуються для зберігання значень або виразів.

Змінна може мати коротку назву, наприклад x, або більш інформативне ім'я, наприклад carname (назва автомобіля).

Правила для імен змінних JavaScript:

  • Імена змінних чутливі до регістру (y і Y це дві різні змінних)
  • Імена змінних повинні починатися з букви або символу підкреслення

зауваження:Оскільки JavaScript чутливий до регістру, імена змінних також чутливі до регістру.

приклад

Значення змінної може змінюватися під час виконання скрипта. Ви можете посилатися на змінну по її імені для відображення або зміни її значення.

Оголошення (Створення) змінних JavaScript

Створення змінних в JavaScript більш часто називають "оголошенням" змінних.

Ви оголошуєте змінні JavaScript за допомогою ключового слова var:

Після виконання пропозицій вище, змінна xбуде містити значення 5 , і carnameбуде містити значення Мерседес.

зауваження:Коли ви привласнюєте текстове значення змінної, укладайте його в лапки.

зауваження:Якщо ви оголошуєте змінну повторно, вона не втратить своє значення.

Локальні Змінні JavaScript

Змінна, оголошена всередині функції JavaScript стає ЛОКАЛЬНОЇі буде доступна тільки в межах цієї функції. (Змінна має локальну область видимості).

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

Локальні змінні знищуються при виході з функції.

Ви дізнаєтеся більше про функції в наступних уроках JavaScript.

Глобальні Змінні JavaScript

Змінні оголошені поза функції стають ГЛОБАЛЬНИМИ, І всі скрипти і функції на сторінці можуть до них звертатися.

Глобальні змінні знищуються коли ви закриваєте сторінку.

Якщо ви оголошуєте змінну, не використовуючи "var", змінна завжди стає ГЛОБАЛЬНОЇ.

Присвоєння Значний неоголошеним Змінним JavaScript

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

Ці пропозиції:

Ви дізнаєтеся більше про операторів в наступному уроці JavaScript.

У цьому розділі розглядаються базова граматика, оголошення змінних, типи даних і літерали.

основи

JavaScript запозичує більшу частину синтаксису з Java, але також зазнав впливу таких мов, як Awk, Perl і Python.

JavaScript чутливий до регіструі використовує систему кодування символів Unicode. Наприклад, слово Früh ( "рано" по-німецьки) може використовуватися в якості імені змінної.

Var Früh = "foobar";

Але, змінна früh не те ж саме що Früh бо JavaScript чутливий до регістру.

Коментарі

синтаксис коментарівє таким же, як і в C ++ і в багатьох інших мовах:

// Коментар, який займає один рядок. / * Коментар, який займає кілька рядків. * / / * Не можна вкладати / * коментар в коментар * / SyntaxError * /

оголошення

В JavaScript існує три види оголошень:

varОголошує змінну, ініціалізація змінної значенням є необов'язковою. letОголошує локальну змінну в області видимості блоку, ініціалізація змінної значенням є необов'язковою. constОголошує іменовану константу, доступну тільки для читання.

змінні

Ви можете використовувати змінні як символічні імена для значень в вашому додатку. Імена змінних називаються identifiers і повинні відповідати певним правилам.

Ідентифікатор в JavaScript повинен починатися з літери, нижнього підкреслення (_) або знака долара ($); наступні символи можуть також бути цифрами (0-9). Оскільки JavaScript чутливий до регістру, літери включають символи від "A" до "Z" (верхній регістр) і символи від "a" до "z" (нижній регістр).

Ви можете використовувати в ідентифікаторах букви ISO 8859-1 або Unicode, наприклад, å або ü. Ви також можете використовувати як символи в ідентифікаторах.

Деякі приклади коректних імен: Number_hits, temp99, _name.

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

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

  • використовуючи ключове слово var. Наприклад, var x = 42. Даний синтаксис може бути використаний для оголошення як локальних, так і глобальних змінних.
  • Просто привласнити змінної значення. Наприклад, x = 42. Змінні, оголошені даними способом, є глобальними. Таке оголошення генерує суворе попередження (strict mode). Не рекомендується використовувати даний спосіб.
  • Використовуючи ключове слово let. Наприклад, let y = 13. Даний синтаксис може бути використаний для оголошення локальної змінної в області видимості блоку.

Присвоєння значень

Змінна, оголошена через var або let без присвоєння початкового значення, має значення undefined.

При спробі доступу до неоголошеної змінної або змінної до її оголошення буде викинуто виключення ReferenceError:

Var a; console.log ( "The value of a is" + a); // Значення змінної a undefined console.log ( "The value of b is" + b); // Uncaught ReferenceError: b не визначена console.log ( "The value of c is" + c); // Значення змінної c undefined var c; console.log ( "The value of x is" + x); // Uncaught ReferenceError: x не визначена let x;

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

var input; if (input === undefined) (doThis ( ); ) Else (doThat ( ) ; }

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

var myArray =; if (! myArray [0]) (myFunction ( ) ; }

Значення undefined конвертується в NaN, коли використовується в числовому контексті:

var a; a + 2; // NaN

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

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

Не обов'язково вказувати всі елементи в літералі array. Якщо ви поставите дві коми поспіль, то пропущені елементи будуть мати значення undefined. наприклад:

var fish = [ "Lion",, "Angel"]; // [ "Lion", undefined, "Angel"]

У цього масиву є 2 елементи зі значенням і один порожній (fish - "Lion", fish - undefined, а fish - "Angel").

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

зауваження:Зайві коми можуть викликати помилки в старих версіях браузерів, тому краще уникати їх використання.

var myList = [ "home",, "school",]; // [ "home", undefined, "school"]

У наступному прикладі довжина масиву дорівнює чотирьом, елементи myList і myList мають значення undefined:

var myList = [, "home",, "school"]; //

У наступному прикладі довжина масиву дорівнює чотирьом, елементи myList і myList мають значення undefined. Ігнорується тільки остання кома.

var myList = [ "home",, "school",,]; // [ "home", undefined, "school", undefined]

Розуміння поведінки зайвих ком важливо для розуміння JavaScript як мови. Однак, коли будете писати свій власний код, то майте на увазі, що явне оголошення відсутніх елементів як undefined покращує ясність коду і легкість його підтримки.

Логічні літерали

Логічний (Boolean) тип має два літеральних значення: true і false.

Не плутайте примітивні логічні значення true і false зі значеннями true і false об'єкта Boolean. Об'єкт Boolean є об'єктом-обгорткою над примітивом логічного типу. Щоб отримати більш детальну інформацію, Прочитайте Boolean.

Літерал цілого числа

Цілі числа можуть бути записані в десяткової, шістнадцятковій, вісімковій і двійковій системах числення.

  • Десятковий цілочисельний літерал складається з послідовності цифр без ведучого нуля.
  • Ведучий нуль в целочисленном літералі вказує на те, що він записаний в вісімковій системі числення. Вісімкові цілі числа складаються тільки з цифр 0-7.
  • Провідні символи 0x (або 0X) вказують на те, що число шістнадцяткове. Шістнадцятиричні цілі числа можуть складатися з цифр 0-9 і букв a-f і A-F.
  • Провідні символи 0b (або 0B) вказують на те, що число двійкове. Двійкові числа можуть включати в себе тільки цифри 0 і 1.

Кілька прикладів цілочисельних літералів:

0, 117 і -345 (десяткова система числення) 015, 0001 і -077 (восьмерична система числення) 0x1123, 0x00111 і -0xF1A7 (шістнадцяткова система числення) 0b11, 0b0011 і -0b11 (двійкова система числення)

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

Числа з плаваючою точкою можуть складатися з наступних частин:

  • Десяткове ціле число, яке може мати знак (символ "+" або "-", що стоїть перед числом),
  • Десяткова точка ( "."),
  • Дрібна частина (інше десяткове число),
  • Експонента.

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

У більш стислій формі синтаксис виглядає наступним чином:

[(+ | -)] [. Digits] [(E | e) [(+ | -)] digits]

3.14 -3.1E + 12 -.3333333333333333333 .1e-23

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

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

У наступному прикладі властивості myCar об'єкта car присвоюється рядок "Saturn", властивості getCar - результат виклику функції CarTypes ( "Honda"), властивості special - значення змінної Sales:

var Sales = "Toyota"; function CarTypes ( name) (if (name == "Honda") (return name;) else (return "Вибачте, ми не продаємо"+ Name + "." ; )) Var car = (myCar: "Saturn", getCar: CarTypes ( "Honda"), special: Sales); console. log ( car. myCar); // Saturn console. log ( car. getCar); // Honda console. log ( car. special); // Toyota

Крім того, ви можете використовувати числовий або строковою літерали в іменах властивостей або вкладати один об'єкт в інший. наприклад:

var car = (manyCars: (a: "Saab", "b": "Jeep"), 7: "Mazda"); console. log ( car. manyCars. b); // Jeep console. log ( car [7]); // Mazda

Іменем властивості об'єкта може бути будь-який рядок, в тому числі порожній рядок. Якщо ім'я властивості не є коректним JavaScript ідентифікатором, то воно має бути укладена в лапки. Для звернення до таких імен слід використовувати квадратні дужки (), а не точку (.):

var unusualPropertyNames = ( "": "An empty string", "!": "Bang!") console. log ( unusualPropertyNames. ""); // SyntaxError: Unexpected string console. log ( unusualPropertyNames [ ""]); // "An empty string" console. log ( unusualPropertyNames. ! ); // SyntaxError: Unexpected token! console. log ( unusualPropertyNames [ "!" ]); // "Bang!"

У ES2015 літерали об'єктів розширено до підтримки установки прототипу в конструкції короткої записи для foo: завдання foo, визначення методів, створення супер викликів і обчислення імен властивостей в виразах. Разом, вони роблять схожими об'єктні літерали і оголошення класів, а також дозволяють об'єктному дизайну отримувати вигоду однакових можливостей.

Var obj = (// __proto__ __proto__: theProtoObj, // Коротка запис для 'handler: handler' handler, // Методи toString () (// Супер виклики return "d" + super.toString ();), // Динамічне обчислення імен властивостей [ "prop_" + (() => 42) ()]: 42);

Зверніть увагу на наступний приклад:

var foo = (a: "alpha", 2: "two"); console. log ( foo. a); // alpha console. log ( foo [2]); // two // console.log (foo.2); // SyntaxError: Unexpected number// console.log (foo [a]); // ReferenceError: a is not defined console. log ( foo [ "a"]); // alpha console. log ( foo [ "2"]); // two

RegExp літерал

Літерал regexp - шаблон між Слеш. Наступний приклад літерал regex:

Var re = / ab + c /;

строковий літерал

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

"Foo" "bar" "1234" "one line \ n another line" "John" s cat "

Ви можете зателефонувати за одним з методів об'єкта String для строкового літерала: JavaScript автоматично перетворює строкової літерал в тимчасовий об'єкт String, викличе метод, а потім знищить тимчасовий об'єкт String. Ви також можете використовувати властивість String.length зі строковим літералом:

Console. log ( "John" s cat ". Length); // Число символів в рядку, включаючи пробіл.// В даному випадку довжина рядка дорівнює 10.

У ES2015 також доступні шаблони рядків. Шаблони рядків є синтаксичний цукор для конструювання рядків. Це схоже на можливості інтерполяції рядків в Perl, Python і інших. Додатково, може бути доданий тег, що дозволяє налаштовувати конструювання рядків, уникаючи атак впровадження та побудови структур даних високого рівняз вмісту рядка.

// Просте створення рядка через буквальний string `In JavaScript" \ n "is a line-feed.` // Мультістроковие рядки` In JavaScript this is not legal.` // Інтерполяція рядків var name = "Боббі", time = "сьогодні "; `Привіт $ (name), як ти $ (time)?` // Будуємо префікс HTTP запиту, який використовується для інтерпретації замін і конструювання POST`http: //foo.org/bar? A = $ (a) & b = $ ( b) Content-Type: application / json X-Credentials: $ (credentials) ( "foo": $ (foo), "bar": $ (bar)) `(myOnReadyStateChangeHandler);

Вам слід використовувати рядкові літерали до тих пір, поки вам спеціально не знадобиться об'єкт String. Щоб отримати більш детальну інформацію про об'єкт String, прочитайте String.

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

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

"One line \ n another line"

У цій таблиці наведено спеціальні символи, які ви можете використовувати.

Спеціальні символи в JavaScript
символ значення
\ b Повернення (Backspace)
\ f Переклад або прогін сторінки (Form feed)
\ n Переклад рядка (New line)
\ r Повернення каретки (Carriage return)
\ t Табуляція (Tab)
\ v Вертикальна табуляція (Vertical tab)
\" Апостроф або одинарна лапка
\" лапки
\\ Зворотна коса риска (Backslash)
\XXX

Символ в кодуванні Latin-1, представлений трьома вісімковими числами XXXвід 0 до 377. Наприклад, \ 251 (символ ©).

\ x XX

Символ в кодуванні Latin-1, представлений двома шестнадцатерічнимі числами XXвід 00 до FF. Наприклад, \ xA9 (символ ©).

\ u XXXX

Символ в Unicode, представлений чотирма шестнадцатерічнимі числами XXXX. Наприклад, \ u00A9 (символ ©).

\ u (XXXXX) Символ в UTF-32BE. Наприклад, \ u (2F804) позначає те ж, що звичайна запис \ uD87E \ uDC04.

екранують символи

Для символів, що не перераховані до вищенаведеної таблиці, яка випереджає зворотна коса риса ігнорується. Таке використання не є рекомендованим (deprecated) і вам слід уникати його.

Ви можете вставити лапки в рядок, якщо поставите перед нею зворотну косу риску. Це називається екрануванням лапок. наприклад:

var quote = "He read \" The Cremation of Sam McGee \ "by R.W. Service."; console. log ( quote); // He read "The Cremation of Sam McGee" by R.W. Service.

Щоб включити зворотну косу риску в рядок, перед нею потрібно поставити ще одну зворотну косу риску. наприклад:

var home = "c: \\ temp"; // c: \ temp

Ви також можете екранувати новий рядок. Зворотна коса риска і новий рядок будуть видалені з вмісту рядка. наприклад:

var str = "this string \ is broken \ across multiple \ lines." console. log ( str); // this string is broken across multiplelines.

Хоча JavaScript не підтримує синтаксис "heredoc" (форматований текст в одній строкової змінної), але ви можете емулювати його, додавши новий рядок і зворотну косу риску в кінець кожного рядка:

var poem = "Roses are red, \ n \ Violets are blue. \ n \ I" m schizophrenic, \ n \ And so am I. "

додаткова інформація

Дана глава сфокусована на базовому синтаксисі для оголошень і типів. Щоб отримати більш детальну інформацію про конструкції JavaScript, прочитайте:

У наступному розділі розглядаються керуючі конструкції і обробка помилок.

The var statement declares a variable, optionally initializing it to a value.

The source for this interactive example is stored in a GitHub repository. If you "d like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.

Syntax

var varname1 [= value1] [, varname2 [= value2]... [ , varnameN [= valueN]]]; varnameN Variable name. It can be any legal identifier. valueN Initial value of the variable. It can be any legal expression. Default value is undefined.

Description

var declarations, wherever they occur, are processed before any code is executed. This is called hoisting, and is discussed further below.

The scope of a variable declared with var is its current execution context, Which is either the enclosing function or, for variables declared outside any function, global. If you re-declare a JavaScript variable, it will not lose its value.

Assigning a value to an undeclared variable implicitly creates it as a global variable (it becomes a property of the global object) when the assignment is executed. The differences between declared and undeclared variables are:

1. Declared variables are constrained in the execution context in which they are declared. Undeclared variables are always global.

Function x () (y = 1; // Throws a ReferenceError in strict mode. Var z = 2;) x (); console.log (y); // 1 console.log (z); // Throws a ReferenceError: z is not defined outside x.

2. Declared variables are created before any code is executed. Undeclared variables do not exist until the code assigning to them is executed.

Console.log (a); // "undefined" or "" depending on browser console.log ( "still going ..."); // still going ... var a = 1; console.log (a); // 1 console.log ( "still going ..."); // still going ...

3. Declared variables are a non-configurable property of their execution context (function or global). Undeclared variables are configurable (e.g. can be deleted).

Var a = 1; b = 2; delete this.a; // Throws a TypeError in strict mode. Fails silently otherwise. delete this.b; console.log (a, b); // Throws a ReferenceError. // The "b" property was deleted and no longer exists.

Because of these three differences, failure to declare variables will very likely lead to unexpected results. Thus it is recommended to always declare variables, regardless of whether they are in a function or global scope. And in ECMAScript 5 strict mode, assigning to an undeclared variable throws an error.

var hoisting

Because variable declarations (and declarations in general) are processed before any code is executed, declaring a variable anywhere in the code is equivalent to declaring it at the top. This also means that a variable can appear to be used before it "s declared. This behavior is called" hoisting ", as it appears that the variable declaration is moved to the top of the function or global code.

Bla = 2; var bla; // ... is implicitly understood as: var bla; bla = 2;

For that reason, it is recommended to always declare variables at the top of their scope (the top of global code and the top of function code) so it "s clear which variables are function scoped (local) and which are resolved on the scope chain.

It "s important to point out that the hoisting will affect the variable declaration, but not its value" s initialization. The value will be indeed assigned when the assignment statement is reached:

Function do_something () (console.log (bar); // undefined var bar = 111; console.log (bar); // 111) // ... is implicitly understood as: function do_something () (var bar; console .log (bar); // undefined bar = 111; console.log (bar); // 111)

Examples

Declaring and initializing two variables

var a = 0, b = 0;

Assigning two variables with single string value

var a = "A"; var b = a; // ... is equivalent to: var a, b = a = "A";

Be mindful of the order:

Var x = y, y = "A"; console.log (x + y); // undefinedA

Here, x and y are declared before any code is executed, but the assignments occur later. At the time "x = y" is evaluated, y exists so no ReferenceError is thrown and its value is undefined. So, x is assigned the undefined value. Then, y is assigned the value "(! LANG: A" . Consequently, after the first line, x === undefined && y === "A" , hence the result.!}

Initialization of several variables

var x = 0; function f () (var x = y = 1; // Declares x locally; declares y globally.) f (); console.log (x, y); // 0 1 // In non-strict mode: // x is the global one as expected; // y is leaked outside of the function, though!

The same example as above but with a strict mode:

"Use strict"; var x = 0; function f () (var x = y = 1; // Throws a ReferenceError in strict mode.) f (); console.log (x, y);

Implicit globals and outer function scope

Variables that appear to be implicit globals may be references to variables in an outer function scope:

Var x = 0; // Declares x within file scope, then assigns it a value of 0. console.log (typeof z); // "undefined", since z doesn "t exist yet function a () (var y = 2; // Declares y within scope of function a, then assigns it a value of 2. console.log (x, y); // 0 2 function b () (x = 3; // Assigns 3 to existing file scoped x. y = 4; // Assigns 4 to existing outer y. z = 5; // Creates a new global variable z, and assigns it a value of 5. // (Throws a ReferenceError in strict mode.)) b (); // Creates z as a global variable. console.log (x, y, z); // 3 4 5) a (); // Also calls b. console.log (x, z); // 3 5 console.log (typeof y); // "undefined", as y is local to function a

Specifications

Specification Status Comment
ECMAScript 1st Edition (ECMA-262) Standard Initial definition. Implemented in JavaScript 1.0
ECMAScript 5.1 (ECMA-262)
The definition of "var statement" in that specification.
Standard
ECMAScript 2015 (6th Edition, ECMA-262)
Standard
ECMAScript Latest Draft (ECMA-262)
The definition of "variable statement" in that specification.
Draft

Browser compatibility

The compatibility table on this page is generated from structured data. If you "d like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.

Update compatibility data on GitHub

DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
varChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes

Працюючи в Javascript ми можемо вносити числові, рядкові й логічні значення, проте вони працюють в тому випадку, якщо в програмі міститься необхідна інформація. Для цього і створені змінні, які дозволяють зберігати в собі різного роду інформацію і представляє собою як якийсь контейнер до якого можемо звернутися в будь-який момент і дістати ту інформацію яка в ньому розташована.

створення змінної

Мінлива створюється в два етапи: це оголошення змінної і присвоєння їй імені.

Для початку ми повинні задекларувати змінну, тобто оголосити її, це робиться за допомогою ключового слова var. Далі пишемо інструкцію, це ім'я змінної, її назва як до неї будемо звертатися, для прикладу напишу dwstv.


Як називати змінні вирішувати, звичайно, вам, проте є кілька правил, яких необхідно дотримуватися, щоб працював javascript:

  • перше правило, уникайте використання зарезервованих слів. Деякі слова в мові JavaScript використовуються в самій системі, як наприклад слово var за допомогою якого ми оголошуємо змінну. Крім того, деякі слова, такі як alert, document, window, вважаються особливими властивостями веб сторінки. Якщо ви спробуєте їх задіяти в якості змінних, то отримаєте повідомлення про помилку. Тут можна подивитися список зарезервованих слів.
  • друге правило, ім'я змінної повинно починатися з літери, символу $ або _. Тобто змінна не може починатися з цифри або розділового знака: ім'я 1dwstv і & dwstv працювати не будуть, а імена $ dwstv і _dwstv будуть.
  • третє правило, в імені змінної можуть міститися букви, цифри, символи $ і _, і не можуть бути використані в імені прогалини або інші спеціальні знаки : Dws & tv і dws tv це неприпустимі імена, а такого формату можна, dws_tv і dwstv1 або dws_tv_1.
  • четверте правило, імена змінних чутливі до регістру. Інтерпретатор JavaScript по різному сприймає малі та великі літери, тобто змінна DWSTV відрізняється від змінної dwstv, а також від змінної DwStv і Dwstv.
  • п'яте правило, н е рекомендується використовувати символи, відмінні від латиниці, Змінні, написані кирилицею, хоч і будуть працювати, але це не гарантовано, до того ж колегам з інших країн зрозумілі не будуть.

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

Називаючи змінні, намагайтеся, щоб вони були зручні для читання. При використанні декількох слів, додавайте між ними символ нижнього підкреслення, або починайте кожне слово після першого з великої літери. Наприклад, dwsTv або dws_tv.

Використання змінних

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

Для того щоб покласти в змінну дані, використовується спеціальний символ, знак рівності (=), він називається операцією присвоювання, Оскільки він використовується, щоб привласнити змінної якийсь значення.


Для прикладу покладемо в змінну dwstv цифрове значення, кількість передплатників 8500, оголошуємо змінну var dwstv; і другим рядком кладемо в неї значення dwstv = 8500;

Var dwstv; dwstv = 7200;

І так, першим рядком ми створили змінну, а другий зберегли в неї значення. Ми так само можемо створювати змінну і зберігати в ній значення за допомогою однієї інструкції, наприклад:

Var dwstv = 7200;

В змінної ми можемо зберігати будь-які типи даних, які проходили в попередніх уроках, це можуть бути числові, рядкові й логічні значення:

Var dwstv = 7200; var lessons = 'JavaScript'; var youtubeKanal = 'DwsTV'; var subscribers = '7700'; var content = true;

Ми можемо також економити місце, час, декларуючи змінні одним ключем var, приклад:

Var lessons = 'JavaScript', youtubeKanal = 'DwsTV', subscribers = '7700', content = true;

Після того як зберегли значення в змінних, у нас з'являється можливість отримати доступ до цих даних. Для цього досить використовувати ім'я самої змінної.

Наприклад, якщо нам потрібно відкрити діалогове вікно оповіщення та відобразити значення, збережене в змінної kanal, досить просто написати ім'я змінної у функції alert.

Alert (kanal);

Зверніть увагу, що ми не робимо висновок змінні в лапки - вони тільки для рядків, тому ми не пишемо alert ( 'kanal'), так як в цьому випадку ми отримаємо слова kanal, а не значення збережене в змінної.

Тепер я думаю, ви розібралися, чому рядки слід брати в лапки: інтерпретатор javaScript сприймає слова без лапок або як спеціальні об'єкти (наприклад, команда alert ()), або як імена змінних.

Та й ще такий момент, коли ми задекларували змінну ключовим словом var, і хочемо поміняти в змінної значення, не обов'язково повторно її оголошувати, прописуючи слово var, досить викликати ім'я змінної і привласнити їй нове значення.

Subscribers = '10000';

По завершенню даного уроку хочу сказати, вивчаючи будь-яку мову, ви не навчитеся програмувати. Безсумнівно, ви дізнаєтеся, що щось нове, але скоріше за все цю інформацію ваш мозок не запам'ятає, так як з нею ви не працюєте. Неможливо вивчити якусь мову, чи не практикуючись, тому з цього уроку ви отримуєте маленьке завдання для того що б надана інформація у вас вклалася і ви могли з нею працювати.

Практичне завдання:

Створіть три змінних, однією надайте числове значення, другий строкове значення, а третій логічне. Всі змінні задекларуйте одним ключовим словом var, і відобразіть їх на сторінці. Потім перевизначите змінну з числовим значенням, і отриманий результат відобразите за допомогою функції alert ().


На початку наступного відео розберемо це завдання, діліться вашими результатами в коментарях, пишіть, якщо у кого-то залишилися питання. Кому сподобався урок і хоче підтримати проект, для цього достатньо поділіться ним в соціальних мережах.

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

Урок підготував Горєлов Деніc.

Програміст хоче створити глобальну змінну film і іншу змінну, яка називається так само, але діє тільки в функції showBadFilm (). Яке повідомлення виведе alert з функції showGoodFilm ()? А яке повідомлення буде виведено, якщо цю функцію викликати повторно, але після виклику функції showBadFilm ()?

Хороший чи поганий фільм?

Рішення:

Зверніть увагу на те, що у функції showBadFilm () перед змінної film відсутня ключове слово var. Тому JavaScript передбачає, що ви хочете перевизначити значення глобальної змінної, а не створити однойменну локальну змінну. Тому повторний виклик функції showGoodFilm () виведе: "11 вересня - хороший фільм!"

  • Перевірка типу даних

    До якого з примітивних типів даних відносяться наступні змінні? Постарайтеся відповісти не запускаючи скрипт.

    Перевірка типу даних

    Рішення:

    Зверніть увагу на те, що перша змінна оголошена під ім'ям film, а в alert вказана змінна Film. Це дві різні змінні, оскільки JavaScript - чутливі до регістру мову. Ім'я 07_agent починається з цифри, а це викличе синтаксичну помилку і, як результат - скрипт не спрацює.

Сподобалася стаття? Поділіться з друзями!