Variabile JavaScript. Constante

Lucrând în Javascript, putem introduce valori numerice, șiruri și booleene, dar acestea funcționează dacă programul conține informațiile necesare. Pentru aceasta, au fost create variabile care vă permit să stocați diferite tipuri de informații în sine și să le reprezentați ca un fel de container către care ne putem orienta în orice moment și să obținem informațiile care se află în acesta.

Creație variabilă

O variabilă este creată în doi pași: declararea variabilei și atribuirea unui nume.

Mai întâi, trebuie să declarăm o variabilă, adică să o declarăm, aceasta se face folosind cuvântul cheie var. Apoi, scriem instrucțiunea, acesta este numele variabilei, numele ei așa cum ne vom referi la ea, de exemplu, voi scrie dwstv.


Desigur, depinde de dvs. cum să numiți variabilele, dar există mai multe reguli care trebuie respectate pentru ca javascriptul să funcționeze:

  • prima regulă, evitați să folosiți cuvinte rezervate... Anumite cuvinte din JavaScript sunt utilizate în sistem în sine, cum ar fi cuvântul var cu care declarăm o variabilă. În plus, unele cuvinte precum alertă, document, fereastră sunt considerate proprietăți speciale ale unei pagini web. Dacă încercați să le utilizați ca variabile, veți primi un mesaj de eroare. Aici puteți vedea lista cuvintelor rezervate.
  • a doua regulă, numele variabilei trebuie să înceapă cu o literă, $ sau _... Adică, variabila nu poate începe cu un număr sau semn de punctuație: numele 1dwstv și & dwstv nu vor funcționa, dar numele $ dwstv și _dwstv vor funcționa.
  • a treia regulă, numele variabilelor pot conține litere, cifre, simboluri $ și _, iar spațiile sau alte caractere speciale nu pot fi utilizate în nume: dws & tv și dws tv sunt nume nevalide, dar acest format poate fi dws_tv și dwstv1 sau dws_tv_1.
  • a patra regulă, numele variabilelor sunt sensibile la majuscule și minuscule... Interpretorul JavaScript interpretează litere mici și majuscule diferit, adică variabila DWSTV diferă de variabila dwstv și, de asemenea, de variabilele DwStv și Dwstv.
  • a cincea regulă, n nu se recomandă utilizarea altor caractere decât latina, variabilele scrise în chirilică, deși vor funcționa, nu sunt garantate, în plus, nu vor fi înțelese de colegii din alte țări.

Acestea sunt principalele cinci reguli pe care vă recomand să le respectați, pe lângă acestea, vreau să spun și, atribuiți nume clare și expresive variabilelor dvs. Numiți variabilele în funcție de tipul de date pe care le stocați în ele, acest lucru vă va ajuta în viitor să înțelegeți ce este scris și, uitându-vă la astfel de variabile, va fi clar despre ce este vorba.

Atunci când numiți variabile, încercați să le ușor de citit. Când utilizați mai multe cuvinte, adăugați o subliniere între ele sau începeți fiecare cuvânt după primul cu o literă mare. De exemplu, dwsTv sau dws_tv.

Folosind variabile

La începutul lecției, am stabilit în ce constă o variabilă, acum, când știm cum să o creăm, putem stoca orice tipuri de date în ea, la discreția noastră.

Pentru a introduce date într-o variabilă, se folosește un simbol special, semnul egal (\u003d), se numește o operațiune de atribuiredeoarece este folosit pentru a atribui o valoare unei variabile.


De exemplu, puneți o valoare digitală în variabila dwstv, numărul de abonați este 8500, declarăm variabila var dwstv; iar în a doua linie punem valoarea dwstv \u003d 8500;

Var dwstv; dwstv \u003d 7200;

Și astfel, în prima linie am creat o variabilă, iar în a doua am salvat valoarea în ea. De asemenea, putem crea o variabilă și putem stoca valori în ea cu o singură instrucțiune, de exemplu:

Var dwstv \u003d 7200;

Într-o variabilă, putem stoca orice tipuri de date prin care am trecut în lecțiile anterioare, acestea putând fi numerice, șiruri și valori logice:

Var dwstv \u003d 7200; var lessons \u003d ‘JavaScript’; var youtubeKanal \u003d 'DwsTV'; var abonați \u003d ‘7700’; conținut var \u003d adevărat;

De asemenea, putem economisi spațiu și timp declarând variabile cu o cheie var, de exemplu:

Var lecții \u003d ‘JavaScript’, youtubeKanal \u003d ‘DwsTV’, abonați \u003d ‘7700’, conținut \u003d adevărat;

După ce am stocat valorile în variabile, avem posibilitatea de a accesa aceste date. Pentru a face acest lucru, trebuie doar să folosiți numele variabilei în sine.

De exemplu, dacă trebuie să deschidem un dialog de alertă și să afișăm valoarea stocată în variabila kanal, trebuie doar să scriem numele variabilei în funcția de alertă.

Alertă (kanal);

Vă rugăm să rețineți că nu includem variabile între ghilimele - sunt doar pentru șiruri, deci nu scriem alertă („kanal”), deoarece în acest caz vom obține cuvintele kanal, nu valoarea stocată în variabilă.

Acum cred că v-ați dat seama de ce trebuie citate șirurile: interpretul javaScript tratează cuvintele fără ghilimele fie ca obiecte speciale (de exemplu, comanda alert ()), fie ca nume de variabile.

Și există, de asemenea, un moment în care am declarat o variabilă cu cuvântul cheie var și vrem să schimbăm valoarea variabilei, nu este necesar să o declarăm din nou scriind cuvântul var, este suficient să apelați numele variabilei și să îi atribuiți o nouă valoare.

Abonați \u003d ‘10000’;

Până la sfârșitul acestei lecții, vreau să spun că, învățând orice limbă, nu veți învăța să programați. Fără îndoială, veți învăța ceva nou, dar cel mai probabil creierul dvs. nu își va aminti aceste informații, deoarece nu lucrați cu ele. Este imposibil să înveți o limbă fără practică, astfel încât din această lecție primești o sarcină mică, astfel încât informațiile furnizate să se potrivească cu tine și să poți lucra cu ea.

Sarcină practică:

Creați trei variabile, una cu o valoare numerică, a doua cu o valoare șir și a treia cu o valoare booleană. Declarați toate variabilele cu un singur cuvânt cheie var și afișați-le pe pagină. Apoi, suprascrieți variabila cu o valoare numerică și afișați rezultatul folosind funcția alert ().


La începutul următorului videoclip, vom analiza această problemă, vom împărtăși rezultatele în comentarii, vom scrie dacă cineva are întrebări. Cine a plăcut lecția și dorește să susțină proiectul, trebuie doar să îl împărtășească pe rețelele de socializare.

În lecția următoare, vom analiza mai atent modul de lucru cu tipurile și variabilele de date, vom face cunoștință cu operațiile matematice și ordinea execuției acestora și, de asemenea, vom analiza metodele de combinare a valorilor șir și numerice.

Lecția a fost pregătită de Denis Gorelov.

Variabilele reprezintă un element fundamental al multor limbaje de programare; sunt unul dintre cele mai importante concepte pentru aspiranții la programatori. Există multe proprietăți diferite ale variabilelor în JavaScript, precum și câteva reguli de urmat atunci când le denumiți. JavaScript are trei cuvinte cheie utilizate pentru a declara o variabilă - var, let și const - și fiecare dintre ele afectează modul în care variabila este interpretată în codul dvs.

Acest tutorial vă va prezenta variabilele, cum să le declarați și să le denumiți și vă va explica diferența dintre var, let și const. În plus, veți afla ce este ridicarea variabilă și cum afectează domeniul de aplicare comportamentul variabil.

Ce sunt variabilele

O variabilă este o bucată numită de memorie utilizată pentru a stoca diferite valori. O informație care poate fi referită de mai multe ori poate fi stocată într-o variabilă pentru utilizare ulterioară sau modificare. În JavaScript, valoarea conținută într-o variabilă poate fi orice tip de date, inclusiv un număr, un șir sau un obiect.

Înainte de specificația limbii ECMAScript 2015 (ES6), pe care se bazează în prezent JavaScript, a existat o singură modalitate de a declara o variabilă - folosind cuvântul cheie var. Prin urmare, majoritatea codurilor și manualelor vechi folosesc doar var pentru a declara variabile. Să aruncăm o privire asupra diferențelor dintre var, let și const.

Cuvântul cheie var vă permite să demonstrați conceptul variabilei în sine. În exemplul de mai jos, declarăm o variabilă și îi atribuim o valoare.

// Atribuiți valoarea șirului 8host identificatorului numelui de utilizator
var nume de utilizator \u003d "8host_blog";

Această expresie are mai multe părți:

  • Declararea unei variabile folosind cuvântul cheie var;
  • Numele variabilei (sau identificatorul), numele de utilizator;
  • Operatorul de atribuire, reprezentat de sintaxa \u003d;
  • Valoarea atribuită este „8host_blog”.

Acum puteți utiliza variabila de nume de utilizator în codul dvs. JavaScript își va aminti că numele de utilizator reprezintă valoarea 8host_blog.

// Verificați dacă variabila este egală cu valoarea
if (nume de utilizator \u003d\u003d\u003d "8host_blog") (
console.log (adevărat);
}
Adevărat

După cum sa menționat anterior, variabilele pot fi exprimate cu orice tip de date JavaScript. În acest exemplu, variabilele sunt exprimate ca șir, număr, obiect, boolean și nul.

// Alocarea diferitelor variabile
var nume \u003d "Morty";
var spartani \u003d 300;
regate var \u003d ["mamifere", "păsări", "pești"];
var poem \u003d (trandafiri: „roșu”, violete: „albastru”);
var success \u003d adevărat;
var nimic \u003d nul;

Folosind console.log, puteți vizualiza valoarea oricărei variabile:

// Trimiteți variabila spartans la consolă
console.log (spartani);
300

Variabilele stochează date în memorie care pot fi ulterior utilizate sau modificate. Variabilele pot fi, de asemenea, reatribuite și atribuite o nouă valoare. Exemplul simplu de mai jos demonstrează modul în care o parolă poate fi stocată într-o variabilă și apoi actualizată.

// Atribuiți valoare variabilei parolei
var parola \u003d "vânător2";
// Reatribuiți valoarea variabilă cu o nouă valoare
parola \u003d "vânător3";
console.log (parolă);
„vânător3”

Într-un program real, parola este probabil să fie stocată în siguranță în baza de date. Cu toate acestea, acest exemplu simplu ilustrează o situație în care puteți actualiza valoarea unei variabile. Valoarea pentru parolă a fost hunter2, dar i s-a atribuit o nouă valoare, hunter3, iar acum JavaScript va folosi noua valoare.

Denumirea variabilă

În JavaScript, numele variabilelor se numesc identificatori. Mai multe reguli pentru denumirea identificatorilor pot fi găsite în manual. Iată-le pe scurt:

  • Numele variabilelor pot conține doar litere, cifre (0-9), semn de dolar ($) și subliniere (_).
  • Numele variabilelor nu pot conține caractere în spațiu alb.
  • Numele variabilelor nu trebuie să înceapă cu un număr.
  • Există mai multe cuvinte cheie rezervate care nu pot fi utilizate ca nume de variabile.
  • Numele variabilelor sunt sensibile la majuscule.

JavaScript are, de asemenea, o convenție camelCase pentru numele funcțiilor și variabilelor declarate cu var sau let. În acest caz, primul cuvânt este scris cu litere mici, iar fiecare cuvânt următor începe cu o literă mare (cuvintele sunt scrise fără spații între ele). Majoritatea variabilelor care nu sunt constante vor urma această convenție, cu câteva excepții. Numele variabile care sunt constante (declarate cu cuvântul cheie const) sunt de obicei scrise cu majuscule.

Se pare că există destul de multe reguli, dar pare așa doar la prima vedere. Când lucrați frecvent cu JavaScript, le veți memora rapid.

Diferența dintre var, let și const

JavaScript utilizează trei cuvinte cheie diferite pentru a declara variabile, care adaugă un strat suplimentar de complexitate. Aceste cuvinte cheie diferă în ceea ce privește scopul variabil, ridicarea și reatribuirea.

S-ar putea să vă întrebați care dintre cele trei cuvinte cheie ar trebui să le utilizați în programele dvs. Este o practică obișnuită să folosiți const cât mai des posibil și să lăsați bucle și pentru a fi reasignat. De obicei, var este utilizat în codul vechi.

Domeniul JavaScript

Domeniul de aplicare în JavaScript se referă la contextul actual al codului care determină accesibilitatea variabilelor. Domeniul de aplicare poate fi local și global:

  • Variabilele globale sunt cele care sunt declarate în afara blocului.
  • Variabilele locale sunt cele care sunt declarate în interiorul unui bloc.

În exemplul de mai jos, vom crea o variabilă globală.


var creatura \u003d "lup";

Știți că variabilele pot fi realocate. În domeniul de aplicare local, puteți crea variabile noi cu același nume ca și variabilele din domeniul de aplicare exterior, fără a modifica sau anula valoarea inițială.

Exemplul de mai jos creează o specie globală variabilă. În interiorul funcției, există o variabilă locală cu același nume. Trimitându-le la consolă, veți vedea că valoarea variabilei diferă în funcție de domeniu, dar valoarea inițială nu se modifică.

// Inițializați o variabilă globală
var specie \u003d "om";
function transform () (
// Inițializați o variabilă locală, cu funcții
var specie \u003d "vârcolac";
console.log (specie);
}
// Înregistrați variabila globală și locală
console.log (specie);
transform ();
console.log (specie);
uman
vârcolac
uman

În acest exemplu, variabila locală este cuprinsă la nivel de funcție. Variabilele declarate cu cuvântul cheie var aparțin întotdeauna acestui domeniu (adică recunosc funcțiile ca având un domeniu de aplicare separat). Deci variabila locală nu este disponibilă în domeniul global.

Cu toate acestea, noile cuvinte cheie let și const sunt blocate. Aceasta înseamnă că un nou domeniu local este creat din orice bloc, inclusiv blocuri funcționale, instrucțiuni if, și pentru bucle și în timp ce.

Pentru a ilustra diferența dintre variabilele de funcție și de nivel de bloc, creați o nouă variabilă în blocul if folosind let.

var fullMoon \u003d adevărat;
// Inițializați o variabilă globală
let species \u003d "uman";
if (fullMoon) (
// Inițializați o variabilă cu scop de bloc
let species \u003d "vârcolac";

}


Nu este o lună plină. Lupin este în prezent un om.

În acest exemplu, specia variabilă are o valoare globală (umană) și o valoare locală (vârcolac). Cu toate acestea, dacă utilizați var, obțineți un rezultat diferit.

// Folosiți var pentru a inițializa o variabilă
var specie \u003d "om";
if (fullMoon) (
// Încercați să creați o nouă variabilă într-un bloc
var specie \u003d "vârcolac";
console.log („Este o lună plină. Lupinul este în prezent $ (specie).”);
}
console.log (`Nu este o lună plină. Lupinul este în prezent $ (specie). ');
Este o lună plină. Lupin este în prezent un vârcolac.
Nu este o lună plină. Lupin este în prezent un vârcolac.

Ca rezultat, atât variabila globală, cât și variabila la nivel de bloc returnează aceeași valoare, vârcolac. Acest lucru se datorează faptului că, în loc să creeze o nouă variabilă locală, var va reatribui aceeași variabilă în același domeniu. var nu înțelege acest lucru dacă trebuie să facă parte dintr-un domeniu diferit, nou. În general, este o idee bună să declarați variabile la nivel de bloc, deoarece acest lucru reduce riscul de a suprascrie în mod accidental valorile variabilei.

Creșterea variabilelor

Majoritatea exemplelor de până acum au folosit cuvântul cheie var pentru a declara o variabilă, iar variabila a fost inițializată cu o valoare. După declarare și inițializare, puteți accesa valoarea sau reatribui variabila.

Dacă încercați să utilizați o variabilă înainte ca aceasta să fie declarată și inițializată, aceasta va reveni nedefinită.


console.log (x);
// Atribuire variabilă
var x \u003d 100;
nedefinit

Cu toate acestea, dacă omiteți cuvântul cheie var, variabila nu va fi declarată, ci doar inițializată. Aceasta va returna un ReferenceError și va opri executarea scriptului.

// Încercați să utilizați o variabilă înainte de a o declara
console.log (x);
// Alocare variabilă fără var
x \u003d 100;
ReferenceError: x nu este definit

Acest lucru are legătură cu ridicarea - acesta este un comportament JavaScript care mută declarațiile variabile și funcționale în partea de sus a domeniului lor de aplicare. Deoarece numai declarația reală este ridicată și nu inițializarea, nedefinit este returnat în primul exemplu.

Pentru a demonstra mai bine acest concept, am scris următorul cod și am explicat cum îl citește JavaScript:

// Codul pe care l-am scris
console.log (x);
var x \u003d 100;
// Cum l-a interpretat JavaScript
var x;
console.log (x);
x \u003d 100;

JavaScript stochează x în memorie ca variabilă înainte de a executa scriptul. Deoarece variabila a fost apelată înainte de a fi definită, rezultatul este returnat nedefinit, nu 100. Cu toate acestea, aceasta nu creează un ReferenceError sau oprește scriptul. Deși cuvântul cheie var nu a schimbat de fapt locația lui var, acesta arată cum funcționează ridicarea. Acest comportament poate provoca probleme deoarece programatorul care a scris acest cod se așteaptă cel mai probabil ca ieșirea lui x să fie adevărată și să nu fie nedefinită.

De asemenea, ridicarea poate duce la rezultate imprevizibile, ca în exemplul următor:


var x \u003d 100;
funcție de ridicare () (
// O condiție care nu ar trebui să afecteze rezultatul codului
dacă (fals) (
var x \u003d 200;
}
console.log (x);
}
palan ();
nedefinit

În acest exemplu, variabila globală x este 100. În funcție de instrucțiunea if, x se poate schimba la 200, dar din moment ce condiția a fost falsă, nu ar trebui să afecteze valoarea lui x. În schimb, x a fost ridicat înainte de începerea funcției de ridicare () și valoarea a devenit nedefinită.

Acest comportament imprevizibil poate provoca erori de program. Deoarece let și const sunt definite la nivelul blocului, acestea nu vor fi ridicate în același mod ca în exemplul de mai jos.

// Inițializați x în domeniul global
lasa x \u003d adevarat;
funcție de ridicare () (
// Inițializați x în domeniul funcției
if (3 \u003d\u003d\u003d 4) (
let x \u003d false;
}
console.log (x);
}
palan ();
Adevărat

Declarațiile variabile duplicate care sunt posibile cu var vor arunca o eroare cu let și const.

// Încercați să suprascrieți o variabilă declarată cu var
var x \u003d 1;
var x \u003d 2;
console.log (x);
2
// Încercați să suprascrieți o variabilă declarată cu let
să fie y \u003d 1;
să fie y \u003d 2;
console.log (y);

Uncaught SyntaxError: identificatorul „y” a fost deja declarat
Deci, variabilele declarate cu var pot fi afectate de ridicare. Ridicarea este un mecanism în JavaScript în care declarațiile variabile sunt stocate în memorie. Acest lucru poate duce la variabile nedefinite în cod. Cuvintele cheie let și const rezolvă această problemă aruncând o eroare atunci când încercați să utilizați o variabilă înainte de a o declara sau a declara o variabilă de mai multe ori.

Constante

Multe limbaje de programare folosesc constante - acestea sunt valori care nu pot fi modificate. Adică, valorile atribuite unei constante nu pot fi realocate.

Prin convenție generală, identificatorii const sunt majuscule. Acest lucru îi diferențiază de alte variabile.

În exemplul de mai jos, variabila SPECIES este inițializată ca o constantă utilizând cuvântul cheie const. Încercarea de a reatribui o variabilă va duce la o eroare.

// Atribuiți valoare const
const SPECIES \u003d "uman";
// Încercați să reatribuiți valoarea
SPECIE \u003d "vârcolac";
console.log (SPECII);
Uncaught TypeError: Alocarea variabilei constante.

Deoarece valorile const nu pot fi reatribuite, acestea trebuie declarate și inițializate în același timp sau va apărea o eroare.

// Declarați dar nu inițializați o const
const TODO;
console.log (TODO);
Uncaught SyntaxError: lipsă inițializatorul în declarația const

Valorile care nu pot fi modificate în timpul programării sunt numite imuabile, iar valorile care pot fi modificate se numesc mutabile (acest lucru este evident). Valorile constante nu pot fi reatribuite, dar pot fi modificate deoarece proprietățile obiectelor declarate cu const pot fi modificate.

// Creați un obiect CAR cu două proprietăți
const CAR \u003d (
Culoarea albastra",
preț: 15000
}
// Modificați o proprietate a CAR
CAR.preț \u003d 20000;
console.log (CAR);
(culoare: "albastru", preț: 20000)

Constantele vă permit să le spuneți altor programatori care lucrează la un proiect, și dvs., că o anumită variabilă nu ar trebui să fie realocată. Pentru a declara o variabilă care poate fi realocată, utilizați let.

Concluzie

În acest tutorial, ați învățat ce este o variabilă, v-ați familiarizat cu regulile de numire a variabilelor și ați învățat cum să vă reatribuiți valorile. De asemenea, ați aflat despre amplificarea și ridicarea variabilelor, limitările cuvântului cheie var și modul în care let și const soluționează aceste probleme.

Variabilele servesc drept „containere” pentru stocarea informațiilor.

Îți amintești algebra școlară?

Îți amintești algebra școlară? x \u003d 5, y \u003d 6, z \u003d x + y

Vă amintiți că o literă (de ex. X) ar fi putut fi folosită pentru a stoca o valoare (de exemplu, 5) și că ați putea folosi informațiile de mai sus pentru a calcula că z este 11?

Aceste scrisori se numesc variabile, iar variabilele pot fi folosite pentru a stoca valori (x \u003d 5) sau expresii (z \u003d x + y).

Variabile JavaScript

La fel ca în algebră, variabilele JavaScript sunt utilizate pentru a stoca valori sau expresii.

O variabilă poate avea un nume scurt, cum ar fi x, sau un nume mai descriptiv, cum ar fi carname.

Reguli pentru numele variabilelor JavaScript:

  • Numele variabilelor sunt sensibile la majuscule și minuscule (y și Y sunt două variabile diferite)
  • Numele variabilelor trebuie să înceapă cu o literă sau cu subliniere

Cometariu: Întrucât JavaScript este sensibil la majuscule și minuscule, numele variabilelor sunt, de asemenea, sensibile la majuscule.

Exemplu

Valoarea unei variabile se poate modifica în timpul executării scriptului. Puteți face referire la o variabilă după numele acesteia pentru a afișa sau a modifica valoarea acesteia.

Declararea (crearea) variabilelor JavaScript

Crearea variabilelor în JavaScript este denumită mai des variabile „declarare”.

Declarați variabile JavaScript folosind cuvântul cheie var:

După executarea sugestiilor de mai sus, variabila x va conține valoarea 5 și carname va conține valoarea Mercedes.

Cometariu: Când atribuiți o valoare text unei variabile, încadrați-o între ghilimele.

Cometariu: Dacă declarați din nou o variabilă, aceasta nu își va pierde valoarea.

Variabile locale JavaScript

O variabilă declarată în interiorul unei funcții JavaScript devine LOCAL și vor fi disponibile numai în cadrul acestei funcții. (variabila are scop local).

Puteți declara variabile locale cu același nume în funcții diferite, deoarece variabilele locale sunt recunoscute în funcția în care sunt declarate.

Variabilele locale sunt distruse la ieșirea funcției.

Veți afla mai multe despre funcții în lecțiile JavaScript ulterioare.

Variabile globale JavaScript

Variabilele declarate în afara unei funcții devin GLOBALiar toate scripturile și funcțiile de pe pagină le pot accesa.

Variabilele globale sunt distruse atunci când închideți pagina.

Dacă declarați o variabilă fără a utiliza „var”, variabila devine întotdeauna GLOBAL.

Atribuirea valorilor variabilelor JavaScript nedeclarate

Dacă atribuiți valori variabilelor care nu au fost încă declarate, variabilele vor fi declarate automat ca variabile globale.

Aceste sugestii:

Veți afla mai multe despre operatori în următorul tutorial JavaScript.

Acest capitol acoperă gramatica de bază, declarațiile variabile, tipurile de date și literele.

Cele elementare

JavaScript împrumută cea mai mare parte a sintaxei sale de la Java, dar a fost influențat și de limbaje precum Awk, Perl și Python.

JavaScript caz sensibil și folosește codificarea caracterelor Unicode... De exemplu, cuvântul Früh (timpuriu în germană) poate fi folosit ca nume variabil.

Var Früh \u003d "foobar";

Dar variabila früh nu este aceeași cu Früh, deoarece JavaScript este sensibil la majuscule și minuscule.

Comentarii

Sintaxă comentarii este la fel ca în C ++ și în multe alte limbi:

// Comentează o linie. / * Comentariu care se întinde pe mai multe linii. * / / * Nu puteți face cuiburi / * comentați într-un comentariu * / Eroare de sintaxă * /

reclame

Există trei tipuri de declarații în JavaScript:

var Declară o variabilă, inițializarea variabilă cu o valoare este opțională. lăsa Declară o variabilă locală în sfera unui bloc; inițializarea variabilei la o valoare este opțională. const Declară o constantă numită numai citire.

Variabile

Puteți utiliza variabile ca nume simbolice pentru valori în aplicația dvs. Numele variabilelor se numesc identificatori și trebuie să respecte anumite reguli.

Un identificator JavaScript trebuie să înceapă cu o literă, o subliniere (_) sau un semn de dolar ($); caracterele ulterioare pot fi și numere (0-9). Deoarece JavaScript este sensibil la majuscule și minuscule, literele includ caracterele "A" până la "Z" (majuscule) și caracterele "a" până la "z" (minuscule).

Puteți utiliza ISO 8859-1 sau litere Unicode în identificatori precum å sau ü. De asemenea, puteți utiliza ambele caractere în identificatori.

Câteva exemple de nume valabile: Number_hits, temp99, _name.

Declarație variabilă

Puteți declara o variabilă în trei moduri:

  • Folosind cuvântul cheie var. De exemplu var x \u003d 42. Această sintaxă poate fi utilizată pentru a declara atât variabile locale, cât și variabile globale.
  • Doar atribuiți o valoare variabilei. De exemplu, x \u003d 42. Variabilele declarate în acest fel sunt globale. O astfel de declarație generează un mod strict. Această metodă nu este recomandată.
  • Folosind cuvântul cheie let. De exemplu, să fie y \u003d 13. Această sintaxă poate fi utilizată pentru a declara o variabilă locală în sfera unui bloc.

Atribuirea valorilor

O variabilă declarată prin var sau let fără a primi o valoare inițială este nedefinită.

Dacă încercați să accesați o variabilă nedeclarată sau o variabilă înainte de a fi declarată, va fi aruncată o excepție ReferenceError:

Var a; console.log ("Valoarea lui a este" + a); // Valoarea variabilei a este nedefinită console.log ("Valoarea lui b este" + b); // Uncaught ReferenceError: b nu este definit console.log ("Valoarea lui c este" + c); // Valoarea variabilei c este nedefinită var c; console.log ("Valoarea lui x este" + x); // Uncaught ReferenceError: x nu este definit, lasă x;

Puteți utiliza nedefinit pentru a determina dacă o variabilă are o valoare. În exemplul următor, variabilei de intrare nu i se atribuie o valoare și instrucțiunea if se va evalua la adevărat:

intrare var; if (input \u003d\u003d\u003d nedefinit) (doThis ( ); ) else (doThat ( ) ; }

Valoarea nedefinită se comportă ca fals atunci când este utilizată într-un context boolean. De exemplu, următorul cod execută myFunction deoarece elementul myArray este nedefinit:

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

Valoarea nedefinită este convertită în NaN atunci când este utilizată într-un context numeric:

var a; a + 2; // NaN

Dacă o matrice este creată utilizând un literal în scriptul de nivel superior, atunci JavaScript interpretează matricea de fiecare dată când evaluează o expresie care conține literalul. În plus, un literal folosit într-o funcție este creat de fiecare dată când funcția este apelată.

Virgule suplimentare în litere de matrice

Nu este necesar să includeți toate elementele în literalul matricei. Dacă puneți două virgule la rând, atunci elementele lipsă vor fi nedefinite. De exemplu:

var fish \u003d ["Lion" ,, "Angel"]; // [„Leul”, nedefinit, „Înger”]

Această matrice are 2 elemente cu valori și una goală (peștele este „Leul”, peștele este nedefinit, iar peștele este „Înger”).

Dacă puneți o virgulă la sfârșitul listei de articole, aceasta va fi ignorată. În exemplul următor, lungimea tabloului este 3. Fără lista mea. Toate celelalte virgule din listă indică un element nou.

Cometariu: Virgulele suplimentare pot provoca erori în versiunile mai vechi ale browserelor, deci este mai bine să evitați utilizarea acestora.

var myList \u003d ["acasă" ,, "școală",]; // [„acasă”, nedefinit, „școală”]

În exemplul următor, lungimea tabloului este de patru, iar elementele myList și myList sunt nedefinite:

var MyList \u003d [, "acasă" ,, "școală"]; //

În exemplul următor, lungimea tabloului este de patru, iar elementele myList și myList sunt nedefinite. Doar ultima virgulă este ignorată.

var myList \u003d ["acasă" ,, "școală" ,,]; // [„acasă”, nedefinit, „școală”, nedefinit]

Înțelegerea comportamentului virgulelor suplimentare este importantă pentru înțelegerea JavaScript ca limbă. Cu toate acestea, atunci când scrieți propriul cod, rețineți că declararea explicită a elementelor lipsă ca nedefinite îmbunătățește claritatea și mentenanța.

Litere logice

Tipul boolean are două valori literale: adevărat și fals.

Nu confundați valorile booleene primitive adevărate și false cu valorile adevărate și false ale unui obiect boolean. Obiectul boolean este un obiect de înfășurare peste o primitivă booleană. Pentru mai multe detalii, citiți Boolean.

Literal întreg

Numerele întregi pot fi scrise în sisteme zecimale, hexazecimale, octale și binare.

  • Un literal întreg zecimal constă dintr-o secvență de cifre fără un zero în față.
  • Un zero care conduce într-un literal întreg indică faptul că este în octal. Numerele întregi octale sunt formate doar din cifre 0-7.
  • Caracterele principale 0x (sau 0X) indică faptul că numărul este hexadecimal. Numere întregi hexazecimale pot consta din cifrele 0-9 și literele a-f și A-F.
  • Caracterele principale 0b (sau 0B) indică faptul că numărul este binar. Numerele binare pot include doar cifrele 0 și 1.

Câteva exemple de literali întregi:

0, 117 și -345 (zecimal) 015, 0001 și -077 (octal) 0x1123, 0x00111 și -0xF1A7 (hex) 0b11, 0b0011 și -0b11 (binar)

Literal în virgulă mobilă

Numerele în virgulă mobilă pot consta din următoarele părți:

  • Un număr întreg zecimal care poate avea un semn (caracterul "+" sau "-" care precedă numărul),
  • Punct zecimal ("."),
  • Partea fracționată (un alt număr zecimal),
  • Expozant.

Exponentul constă dintr-un „e” sau „E” urmat de un număr întreg, care poate fi semnat. Un număr în virgulă mobilă trebuie să fie alcătuit din cel puțin o cifră și fie un punct zecimal sau caracterul „e” (sau „E”).

Într-o formă mai concisă, sintaxa este următoarea:

[(+ | -)] [. cifre] [(E | e) [(+ | -)] cifre]

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

Obiect literal

Un obiect literal este o listă de zero sau mai multe perechi de nume de proprietăți și valori asociate, închise între paranteze (()). Nu ar trebui să utilizați un obiect literal la începutul unei expresii, deoarece acest lucru va avea ca rezultat o eroare sau un comportament la care nu vă așteptați, deoarece „(” va fi interpretat ca începutul unui bloc.

Următorul exemplu atribuie șirul „Saturn” proprietății myCar a obiectului mașinii, setează proprietatea getCar la rezultatul apelării funcției CarTypes („Honda”) și setează proprietatea specială la valoarea variabilei Vânzări:

var Sales \u003d "Toyota"; funcția CarTypes ( nume) (if (nume \u003d\u003d "Honda") (returnează numele;) else (returnează „Ne pare rău, nu vindem” + nume + "." ; )) var car \u003d (myCar: "Saturn", getCar: CarTypes ( "Honda"), special: Vânzări); consolă. Buturuga ( mașină. mașina mea); // Consola Saturn. Buturuga ( mașină. getCar); // Consola Honda. Buturuga ( mașină. special); // Toyota

În plus, puteți utiliza litere numerice sau șiruri în numele proprietăților sau puteți cuibra un obiect în altul. De exemplu:

var car \u003d (manyCars: (a: "Saab", "b": "Jeep"), 7: "Mazda"); consolă. Buturuga ( mașină. multe mașini. b); // Consola Jeep. Buturuga ( automobil [7]); // Mazda

Numele proprietății obiectului poate fi orice șir, inclusiv un șir gol. Dacă numele proprietății nu este un identificator JavaScript valid, atunci trebuie să fie inclus între ghilimele. Pentru a vă referi la astfel de nume, utilizați paranteze pătrate () mai degrabă decât un punct (.):

varusualPropertyNames \u003d ("": "Un șir gol", "!": "Bang!") consolă. Buturuga ( numeProprietate neobișnuite. ""); // SyntaxError: șir neașteptatconsolă. Buturuga ( numeProprietate neobișnuite [""]); // Consola „Un șir gol”. Buturuga ( numeProprietate neobișnuite ! ); // Eroare de sintaxa: Cod invalid!consolă. Buturuga ( numeProprietate neobișnuite ["!" ]); // "Bang!"

În ES2015, literalele obiectului sunt extinse pentru a susține setarea prototipului în construcția de prescurtare pentru foo: setarea foo, definirea metodelor, efectuarea apelurilor super și evaluarea numelor de proprietăți în expresii. Împreună, fac ca literele obiectelor și declarațiile de clasă să fie similare și permit proiectarea obiectelor să profite de aceleași capacități.

Var obj \u003d (// __proto__ __proto__: theProtoObj, // Stenografie pentru „handler: handler” handler, // Methods toString () (// Super apelurile returnează „d” + super.toString ();), // Dynamic calculul numelor de proprietăți ["prop_" + (() \u003d\u003e 42) ()]: 42);

Aruncați o privire la următorul exemplu:

var foo \u003d (a: "alfa", 2: "doi"); consolă. Buturuga ( foo. A); // consolă alfa. Buturuga ( foo [2]); // Două // console.log (foo.2); // SyntaxError: număr neașteptat// console.log (foo [a]); // ReferenceError: a nu este definitconsolă. Buturuga ( foo ["a"]); // consolă alfa. Buturuga ( foo ["2"]); // Două

RegExp literal

Literalul regexp este un model între oblice. Următorul exemplu este o regex literală:

Var re \u003d / ab + c /;

Șir literal

Un literal șir este zero sau mai multe caractere cuprinse între ghilimele duble (") sau simple ("). Șirul trebuie delimitat cu ghilimele unice, adică fie ambele simple, fie ambele duble. De exemplu:

"foo" "bar" "1234" "o linie \\ n altă linie" "pisica lui John"

Puteți apela oricare dintre metodele obiectului String pe un literal șir: JavaScript va converti automat literalul șir într-un obiect temporar String, va apela metoda și apoi va distruge obiectul String temporar. De asemenea, puteți utiliza proprietatea String.length cu un șir literal:

Consolă. Buturuga ( "Pisica lui John". Lungime); // Numărul de caractere din șir, inclusiv spațiul.// În acest caz, lungimea șirului este 10.

Șabloanele de șiruri sunt disponibile și în ES2015. Modelele șirurilor sunt zahăr sintactic pentru construirea șirurilor. Acest lucru este similar cu capabilitățile de interpolare de șiruri din Perl, Python și altele. În plus, se poate adăuga o etichetă pentru a personaliza construcția șirurilor, evitând atacurile de injecție și construind structuri de date la nivel înalt din conținutul șirului.

// Crearea simplă a șirurilor prin șir literal „În JavaScript" \\ n "este o linie-feed.` // Șiruri multi-linie `În JavaScript acest lucru nu este legal.` // Interpolarea șirurilor var name \u003d "Bobby", time \u003d "astăzi "; `Bună ziua $ (nume), cum ești $ (ora)?` // Construiește prefixul cererii HTTP folosit pentru interpretarea înlocuirilor și construirea POST-urilor`http: //foo.org/bar? A \u003d $ (a) & b \u003d $ ( b) Content-Type: application / json X-Credentials: $ (credentials) ("foo": $ (foo), "bar": $ (bar)) `(myOnReadyStateChangeHandler);

Ar trebui să utilizați literele șirului cu excepția cazului în care aveți nevoie în mod specific de un obiect Șir. Pentru mai multe informații despre obiectul String, citiți String.

Folosirea caracterelor speciale în șiruri

Pe lângă caracterele obișnuite, puteți include și caractere speciale în șiruri.

"o linie \\ n altă linie"

Următorul tabel listează caracterele speciale pe care le puteți utiliza.

Caracterele speciale din JavaScript
Simbol Valoare
\\ b Backspace
\\ f Traducere sau feed de pagini (Feed de formular)
\\ n Feed de linie (Linie nouă)
\\ r Retur transport
\\ t Filă (filă)
\\ v Fila verticală
\" Apostrof sau citat unic
\" Citat dublu
\\ Backslash (Backslash)
\XXX

Caracter latin-1 reprezentat prin trei numere octale XXX de la 0 la 377. De exemplu, \\ 251 (simbol ©).

\\ X XX

Caracter latin-1 reprezentat prin două numere hexazecimale XX 00 la FF. De exemplu, \\ xA9 (caracterul ©).

\\ u XXXX

Caracter Unicode reprezentat de patru numere hexazecimale XXXX... De exemplu, \\ u00A9 (caracterul ©).

\\ u (XXXXX) Personajul este în UTF-32BE. De exemplu, \\ u (2F804) înseamnă același lucru ca și \\ uD87E \\ uDC04 obișnuit.

Caracterele care scapă

Pentru caracterele care nu sunt enumerate în tabelul de mai sus, linia inversă principală este ignorată. Această utilizare este depreciată și ar trebui să o evitați.

Puteți insera ghilimele într-un șir precedându-l cu o bară inversă. Aceasta se numește scăpare de citate. De exemplu:

var quote \u003d „A citit„ Cremarea lui Sam McGee ”de R.W Service.; consolă. Buturuga ( citat); // A citit „Incinerarea lui Sam McGee” de R.W. Serviciu.

Pentru a include o bară inversă într-un șir, trebuie să o precedați cu o altă bară inversă. De exemplu:

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

De asemenea, puteți scăpa de alimentarea liniei. Fluxul invers și linia vor fi eliminate din conținutul șirului. De exemplu:

var str \u003d "acest șir \\ este rupt \\ pe mai multe \\ linii." consolă. Buturuga ( str); // acest șir este rupt pe mai multe linii.

Deși JavaScript nu acceptă sintaxa „heredoc” (text formatat într-o singură variabilă de șir), îl puteți emula adăugând o linie nouă și o bară inversă la sfârșitul fiecărei linii:

var poem \u003d "Trandafirii sunt roșii, \\ n \\ Violetele sunt albastre. \\ n \\ Sunt" schizofrenic, \\ n \\ La fel și eu. "

informatii suplimentare

Acest capitol se concentrează pe sintaxa de bază pentru declarații și tipuri. Pentru mai multe informații despre construcțiile JavaScript citiți:

Următorul capitol acoperă structurile de control și tratarea erorilor.

Ultima actualizare: 05.04.2018

Variabilele sunt utilizate pentru a stoca date în program. Variabilele sunt concepute pentru a stoca unele date temporare sau date care îi pot modifica valoarea în timpul funcționării. Cuvintele cheie Var și let sunt utilizate pentru a crea variabile. De exemplu, să declarăm variabila MyIncome:

Var MyIncome; // o altă opțiune permite MyIncome2;

Fiecare variabilă are un nume. Numele este un set arbitrar de caractere alfanumerice, subliniere (_) sau semn de dolar ($), iar numele nu trebuie să înceapă cu caractere numerice. Adică, putem folosi litere, cifre, sublinieri în titlu. Cu toate acestea, toate celelalte personaje sunt interzise.

De exemplu, numele corecte ale variabilelor sunt:

$ comision someVariable product_Store revenue2 MyIncome_from_deposit

Următoarele nume sunt incorecte și nu pot fi utilizate:

222lol @someVariable procentul meu%

De asemenea, nu puteți da nume variabilelor care corespund cuvintelor cheie rezervate. Nu există multe cuvinte cheie în JavaScript, deci această regulă nu este dificil de urmat. De exemplu, următorul nume ar fi incorect deoarece for este un cuvânt cheie JavaScript:

Var pentru;

Lista cuvintelor rezervate în JavaScript:

abstract, boolean, break, byte, case, catch, char, class, const, continue, debugger, implicit, șterge, face, dublu, else, enum, export, extinde, false, final, în cele din urmă, float, pentru, funcție, mergi, dacă, implementează, importă, în, instanceof, int, inteface, lung, nativ, nou, nul, pachet, privat, protejat, public, return, scurt, static, super, comutator, sincronizat, acesta, aruncă, aruncă, tranzitoriu, adevărat, încercați, typeof, var, volatil, nul, în timp ce, cu

Când numiți variabile, rețineți că JavaScript este caz sensibil limba, adică următorul cod declară două variabile diferite:

Var MyIncome; var MyIncome;

Puteți defini mai multe variabile simultan, separate prin virgule:

Var MyIncome, procent, sum; lasă a, b, c;

Folosind semnul egal (numit și operator de misiune) puteți atribui o valoare unei variabile:

Venit var \u003d 300; lasa pret \u003d 76;

Procesul de inițializare a unei variabile se numește inițializare.

Acum, venitul variabil va stoca numărul 300, iar prețul variabil va stoca numărul 76.

Caracteristica distinctivă a variabilelor este că le putem schimba valoarea:

Venit var \u003d 300; venit \u003d 400; console.log (venit); lasa pret \u003d 76; pret \u003d 54; console.log (preț);

Constante

Cuvântul cheie const poate fi utilizat pentru a defini o constantă care, ca o variabilă, stochează o valoare, dar această valoare nu poate fi modificată.

Rata const \u003d 10;

Dacă încercăm să-i schimbăm valoarea, vom întâlni o eroare:

Rata const \u003d 10; rata \u003d 23; // eroare, rata este constantă, deci nu putem schimba valoarea acesteia

De asemenea, este demn de remarcat faptul că, din moment ce nu putem modifica valoarea unei constante, trebuie inițializată, adică atunci când o definim, trebuie să îi oferim o valoare inițială. Dacă nu facem acest lucru, atunci din nou ne vom confrunta cu o eroare:

Rata const; // eroare, rata nu este inițializată