Sintaxa JavaScript
Din 1995, JavaScript a parcurs un drum lung de la o componentă umilă a browserului Netscape la interpreții JIT de înaltă performanță de astăzi. S-ar părea că în urmă cu doar cinci ani dezvoltatorii au fost uimiți de apariția lui Ajax, iar acum aplicațiile JavaScript complexe au atins volume de sute și mii de linii de cod.
Anul trecut a apărut o nouă generație de aplicații JavaScript care nu arată deloc diferit de aplicațiile desktop, un progres incredibil în tehnologia web. Au dispărut solicitările lente de pagini de fiecare dată când un utilizator interacționează cu aplicația. Motoarele JavaScript au devenit atât de puternice încât este posibilă salvarea stării din partea clientului, ceea ce accelerează semnificativ răspunsul aplicației și îmbunătățește calitatea performanței acesteia.
Dacă cunoașteți alte limbaje de programare, s-ar putea să vă fie util să știți că JavaScript este un limbaj de programare de nivel înalt, dinamic, netipizat și interpretat, care este potrivit pentru stilurile de programare orientate pe obiecte și funcționale. JavaScript își moștenește sintaxa din limbajul Java, funcțiile sale de primă clasă din limbajul Scheme și mecanismul său de moștenire bazat pe prototipuri din limbajul Self. Dar nu trebuie să cunoașteți toate aceste limbi sau să fiți familiarizat cu terminologia lor pentru a învăța JavaScript.
În acest articol ne vom uita la structurile lexicale de bază ale limbii.
Când scrieți programe în JavaScript, se folosește setul de caractere Unicode. Unicode este un superset de ASCII și Latin-1 și acceptă practic fiecare limbă scrisă de pe planetă. Standard ECMAScript 3 necesită implementări JavaScript pentru a accepta versiunea standard Unicode 2.1 sau o versiune ulterioară, iar standardul ECMAScript 5 necesită implementări pentru a accepta versiunea standard Unicode 3 sau mai mare.
JavaScript este un limbaj sensibil la majuscule și minuscule. Aceasta înseamnă că cuvintele cheie, numele de variabile și funcții și orice alt identificator de limbă trebuie să conțină întotdeauna același set de litere mari și mici.
De exemplu, cuvântul cheie while ar trebui să fie introdus ca „while” în loc de „While” sau „WHILE”. În mod similar, myvar, Myvar, MyVar și MYVAR sunt numele a patru variabile diferite. Rețineți, totuși, că limbajul de marcare HTML (spre deosebire de XHTML) nu face distincție între majuscule și minuscule. Deoarece HTML și JavaScript la nivelul clientului sunt strâns legate, această distincție poate fi confuză. Multe obiecte JavaScript și proprietățile lor au aceleași nume ca și etichetele și atributele HTML pe care le reprezintă. Cu toate acestea, în timp ce în HTML aceste etichete și atribute pot fi introduse în orice caz, în JavaScript, de obicei, trebuie introduse cu litere mici.
De exemplu, atributul onclick al unui handler de evenimente este cel mai adesea specificat ca onClick în HTML, dar în codul JavaScript (sau un document XHTML) trebuie desemnat ca onclick.
JavaScript ignoră spațiile care pot fi prezente între jetoane dintr-un program. În plus, JavaScript ignoră în mare măsură liniile noi. Prin urmare, spațiile și caracterele newline pot fi folosite fără restricții în codul sursă al programelor pentru a formata și a le oferi un aspect lizibil.
Pe lângă caracterul de spațiu obișnuit (\u0020), JavaScript recunoaște în plus următoarele caractere ca spațiu alb: filă (\u0009), filă verticală (\u000B), format feed (\u000C), spațiu neîntrerupt (\u00A0), marcatorul de ordine a octetilor (\uFEFF ), precum și toate caracterele Unicode clasificate ca Zs.
Următoarele caractere sunt recunoscute ca caractere de sfârșit de rând de către interpreții JavaScript: avans de linie (\u000A), întoarcere car (\u000D), separator de rând (\u2028) și separator de paragraf (\u2029). Secvența de caractere de întoarcere a căruciorului și de avans de linie este interpretată ca un singur caracter de terminare a liniei.
Caracterele de control al formatului Unicode (categoria Cf), cum ar fi MARK DE LA DREAPTA LA STÂNGA (\u200F) și MARCA DE LA STÂNGA LA DREAPTA (\u200E), controlează prezentarea vizuală a textului în care apar. Ele sunt importante pentru afișarea corectă a textului în unele limbi și sunt valabile în comentariile JavaScript, literalele șir și literalele expresii regulate, dar nu și în identificatorii (cum ar fi numele de variabile) definiți în programele JavaScript. Excepțiile sunt ZERO WIDTH JOINER (\u200D) și ZERO WIDTH NON-JOINER (\u200C), care pot fi utilizate în identificatori, cu condiția ca acestea să nu fie primele caractere ale identificatorilor.
Puteți vizualiza tabelul complet al caracterelor Unicode pe site-ul web Unicode Table.
Ca și alte limbaje de programare, JavaScript folosește punct și virgulă (;) pentru a separa instrucțiunile unele de altele. Utilizarea punctului și virgulă este esențială pentru a clarifica intenția programatorului: fără acest separator, sfârșitul unei instrucțiuni poate fi confundat cu începutul următoarei și invers.
De obicei, în JavaScript nu trebuie să puneți un punct și virgulă între instrucțiuni dacă acestea sunt pe linii diferite. (Punclul și virgulă poate fi, de asemenea, omis la sfârșitul programului sau dacă următorul simbol din program este o acoladă de închidere.) Mulți programatori JavaScript folosesc punct și virgulă pentru a marca în mod explicit sfârșitul instrucțiunilor, chiar și atunci când acestea nu sunt necesare.
Aruncă o privire la următorul fragment. Deoarece cele două instrucțiuni sunt pe linii diferite, primul punct și virgulă poate fi omis:
Cu toate acestea, dacă aceste instrucțiuni sunt scrise așa cum se arată mai jos, primul punct și virgulă devine necesar:
JavaScript acceptă două moduri de formatare a comentariilor. Orice text între caracterele // și sfârșitul rândului este tratat ca un comentariu și este ignorat de JavaScript. Orice text între caracterele /* și */ este de asemenea considerat un comentariu. Aceste comentarii se pot întinde pe mai multe rânduri, dar nu pot fi imbricate. Următoarele rânduri sunt comentarii JavaScript valide:
// Acesta este un comentariu pe o linie.
/* Acesta este un alt comentariu. Este situat pe mai multe linii.*/
Identificatori și cuvinte rezervate
Pentru compatibilitate și ușurință de editare, numai caracterele și numerele ASCII sunt utilizate de obicei pentru a compune identificatorii. Cu toate acestea, JavaScript permite utilizarea de litere și numere din setul complet de caractere Unicode în identificatori. Acest lucru permite programatorilor să numească variabile în limbile lor materne și să folosească simboluri matematice în ele:
Var name = "Alexander"; var Π = 3,14;
JavaScript rezervă un număr de identificatori care acționează ca cuvinte cheie pentru limba în sine. Aceste cuvinte cheie nu pot servi ca identificatori în programe. JavaScript rezervă, de asemenea, unele cuvinte cheie care nu fac parte în prezent din limbaj, dar care ar putea deveni parte a acestuia în versiunile viitoare. Tabelul de mai jos listează toate cuvintele cheie după categorie:
Categorie | Cuvinte cheie |
---|---|
Identificatori de bază | break delete function return typeof case do if switch var prinde altceva în acest vid continua false instanceof throw while depanator in sfarsit nou adevarat cu implicit pentru încercare nulă |
Cuvinte cheie noi în standardul EcmaScript 5 | export const enum de clasă extinde import super |
Cuvinte rezervate în modul strict (sunt disponibile în modul normal) | instrumentele lasă să producă randament public privat pachet de interfață protejat static |
JavaScript este un limbaj și are propria sa sintaxă, pe care ar fi bine să o cunoaștem bine.
Un program JavaScript este format din propoziții care sunt separate prin punct și virgulă.
Uneori puteți pierde un punct și virgulă și puteți scăpa de el, dar nu întotdeauna. Prin urmare, în cazurile în care sfârșitul unei propoziții este subînțeles, este mai bine să nu uitați să o puneți.
Dacă omiteți din greșeală punct și virgulă, spații sau din alt motiv codul dvs. nu are un stil (și acest lucru este important!), atunci vă recomand ESLint.
Ofertele constau din:
Există două tipuri de valori în JavaScript: variabile și literale.
Variabilele sunt folosite pentru a stoca valori. JavaScript folosește un cuvânt cheie pentru a declara variabile var.
Putem declara variabile în trei moduri:
Puteți vizualiza suportul actual pentru ES6.
Literale sunt valori fixe. Acestea includ tipuri de date precum null, boolean, număr, obiect, șir.
De exemplu, atunci când declarăm o matrice, partea care vine după semnul egal este un literal de matrice.
Mâncare Var = ['brânză','cartofi','castraveţi'];
Și mâncarea este o variabilă.
Numerele sunt scrise cu sau fără zecimale.
10.50 1001
Pentru ca interpretul să înțeleagă ce înseamnă punctul - un apel de metodă sau o virgulă mobilă, trebuie să îl solicităm în unul dintre următoarele moduri:
1..toString() 1 .toString() // spațiu înainte de punctul (1).toString() 1.0.toString()
String - text scris folosind ghilimele duble sau simple.
„Eu sunt șir“ „Și eu sunt șir“
Practic, trebuie să decideți ce ghilimele să utilizați și să urmați alegerea dvs. în timp ce scrieți codul.
În mod implicit, setările ESLint oferă chiar și o alegere bazată pe rezultatele căreia va fi verificat codul.
Numele pe care îl dăm variabilelor, funcțiilor și proprietăților se numește identificator.
Poate conține doar caractere alfanumerice, „$” și „_”.
Cum este un identificator diferit de un șir?
Șirul este date, iar identificatorul face parte din cod.
Var nume de familie = „Smit”;
„Smit” este în mod unic datele - un șir literal, în timp ce numele de familie este stocul pentru acea valoare.
Vă rugăm să rețineți că o cratimă nu este permisă în identificator deoarece este folosită pentru scădere.
O expresie este o combinație de valori, variabile, operatori care calculează o valoare.
De exemplu, expresia 3 * 5
calculează 15.
Expresia poate conține și o variabilă
x*4
Desigur, valorile pot fi și șiruri.
De exemplu expresia:
„Ziua” + „ este „ + „însorită” //calculată în șirul „Ziua este însorită”.
Expresiile pot fi împărțite în cele care atribuie o valoare unei variabile și cele care calculează pur și simplu valori.
Primul caz:
iar al doilea:
Apropo, de îndată ce adăugăm punct și virgulă, nu mai avem o expresie, ci o propoziție!
Var x = 56;
Virgulă evaluează ambii operanzi și returnează valoarea corectă.
Var x = 0; var y = (x++, 4); console.log(x); //1 console.log(y); //4
Expresiile evaluează la o valoare și pot fi scrise oriunde este așteptată o valoare. De exemplu, un argument într-un apel de funcție sau partea dreaptă a unei sarcini.
Fiecare dintre următoarele rânduri conține o expresie:
X x + 6 changeArray("a","b")
Oriunde js așteaptă o propoziție, puteți scrie și expresii.
O astfel de propoziție se numește instrucțiune-expresie.
Dar nu poți scrie o propoziție în care js presupune o expresie. De exemplu, o clauză IF nu poate deveni un argument de funcție.
Să ne uităm la clauza IF și instrucțiunea condiționată, care este o expresie.
Var rezultat; if (x > 0) ( rezultat = „Număr pozitiv”; ) else (rezultat = „Număr negativ”; )
Echivalent:
Var rezultat = (x > 0 ? "Număr pozitiv" : "Număr negativ");
Între semn =
Şi ;
expresie.
Pentru a preveni ambiguitatea în analiză, JS nu permite utilizarea literalelor obiectului și a expresiilor de funcție ca clauze.
De aici rezultă că propozițiile de expresie nu trebuie să înceapă cu:
Dacă o expresie începe cu una sau cu alta, atunci ar trebui să fie scrisă în contextul expresiei.
Pentru a face acest lucru, expresia este plasată între paranteze.
Să presupunem că vrem să declarăm o expresie-funcție anonimă, apoi scriem astfel:
(funcție())(întoarce „gata!”)());
Să ne uităm la modul în care această funcție va diferi de o declarație de funcție ca
Funcția getReady() ( returnează „gata!” )
Dacă o scriem așa?
GetReady(); var getReady = function())( return "gata!"; ) getReady();
În prima linie primim o eroare: TypeError: getReady nu este o funcție
Al cincilea ne va afișa „gata”, deoarece funcția a fost deja declarată.
Acest fenomen se numește ridicare, de ce apare este descris în postarea despre.
Sintaxă JavaScript este un set de reguli pentru modul în care sunt construite programele JavaScript.
Program de calculator este o listă de „instrucțiuni” care urmează să fie „executate” de computer.
Într-un limbaj de programare, aceste instrucțiuni de program sunt apelate declarații.
JavaScript este limbaj de programare.
Declarațiile JavaScript sunt separate punct Cu virgulă.
Programele HTML, JavaScript pot fi executate folosind un browser web.
Declarațiile JavaScript constau din:
Valori, operatori, expresii, cuvinte cheie și comentarii.
Sintaxa JavaScript definește două tipuri de valori: valori fixe și valori variabile.
Se numesc valori fixe literali. Se numesc valorile variabilelor variabile.
Cele mai importante reguli pentru scrierea valorilor fixe sunt:
Numerele scris cu sau fără zecimale:
Coarde text scris între ghilimele duble sau simple:
Într-un limbaj de programare, variabile folosit pentru depozitare valorile datelor.
JavaScript folosește var cuvânt cheie pentru anunta variabile.
Semn egal folosit pentru atribuiri de valoare variabile.
În acest exemplu, x este definit ca o variabilă. Atunci lui x i se atribuie (dată) valoarea 6:
JavaScript folosește operator de atribuire(=) pentru sarcinile valori variabile:
JavaScript folosește operatori aritmetici(+ - * /) pentru calculele valori:
O expresie este o combinație de valori, variabile și operatori care evaluează la o valoare.
Calculul se numește estimare.
De exemplu, 5 * 10 ia valoarea 50:
Expresiile pot conține și valori variabile:
Valorile pot fi de diferite tipuri, cum ar fi numere și șiruri.
De exemplu, „John” + "," + „Doe” ia valoarea „John Doe”:
JavaScript cuvinte cheie sunt folosite pentru a determina acțiunile care trebuie efectuate.
var Cuvântul cheie îi spune browserului să creeze o nouă variabilă:
Nu toate instrucțiunile JavaScript vor fi „executate”.
Cod după două bare oblice // sau între /* Şi * / văzut ca comentariu.
Comentariile sunt ignorate și nu vor fi executate:
Identificatorii sunt nume.
În JavaScript, identificatorii sunt utilizați pentru a denumi variabile (și cuvinte cheie, precum și funcții și etichete).
Regulile pentru denumirile legale sunt aceleași în majoritatea limbajelor de programare.
În JavaScript, primul caracter trebuie să fie o literă, un caracter de subliniere (_) sau un semn dolar ($) .
Caracterele ulterioare pot fi litere, cifre, litere de subliniere sau semne de dolar.
Numerele nu sunt permise ca prim caracter.
În acest fel, JavaScript poate distinge cu ușurință identificatorii de numere.
Toți identificatorii JavaScript sensibil La registru.
Variabile NumeŞi PRENUME, două variabile diferite.
JavaScript nu interpretează VAR sau Var ca cuvânt cheie var .
Din punct de vedere istoric, programatorii au folosit trei moduri de a combina mai multe cuvinte într-un singur nume de variabilă:
Cratime:
prenume, prenume, master-card, inter-city.
Cratimele nu sunt permise în JavaScript. Este destinat scăderilor.
Sublinia:
prenume, prenume, card_master, inter_oraș.
Carcasă pentru cămilă:
Prenume, Prenume, MasterCard, InterCity.
În limbajele de programare, în special JavaScript, litera camel începe adesea cu o literă mică:
prenume, prenume, masterCard, interCity.
JavaScript folosește un set de caractere Unicode.
Unicode acoperă (aproape) fiecare simbol, punctuație și glif din lume.
Un program JavaScript constă din variabile, operatori, funcții, obiecte și alte constructe de limbaj. Toate acestea vor fi discutate în detaliu în acest manual. Și în acest subiect vă voi spune cum sunt scrise în codul programului. Sintaxa JavaScript obișnuit și coincide în mare măsură cu alte limbaje de programare.
JavaScript nu necesită spații între variabile și diverse instrucțiuni. Dar vă permite să puneți spații acolo unde aveți nevoie:
Traducerea liniilor se poate face și acolo unde vă este convenabil. Există o excepție: nu puteți face o întrerupere de linie în interiorul textului care este între ghilimele. Această problemă va fi discutată mai detaliat atunci când studiem șirurile. În alte cazuri, decizi singur unde să traduci linia
O poti scrie asa:
Cu toate acestea, recomand să folosiți un punct și virgulă după fiecare instrucțiune și apel de funcție. În primul rând, absența punctului și virgulă nu este întotdeauna acceptabilă și poate apărea o eroare. În al doilea rând, acesta este un stil comun de codare competentă și este mai bine să vă obișnuiți imediat. Este indicat să respectați regula: fiecare linie trebuie să se încheie cu punct și virgulă. Excepție fac construcțiile lingvistice, care au propriile semne. De exemplu, unii operatori.
Când scrieți numele dvs., de exemplu, când creați variabile, se ia în considerare și majusculele. Compania și Compania sunt două variabile diferite.
Un program JavaScript este succesiune de instrucțiuni (instrucțiuni). Uneori, instrucțiunile sunt numite și comenzi JavaScript.
Pentru ca programul să se execute, acesta trebuie să fie lansat. Dacă programul este un script client, atunci este lansat automat de browser, dar numai dacă, desigur, este prezent în codul paginii. Browserul execută programul, de obicei în timpul încărcării unei pagini web.
Când scrieți instrucțiuni, acestea trebuie separate prin punct și virgulă. JavaScript vă permite să omiteți un punct și virgulă la sfârșitul unei instrucțiuni dacă următoarea instrucțiune va începe pe o linie nouă.
Nu este necesar să terminați instrucțiunile cu punct și virgulă în JavaScript dacă următoarea instrucțiune va fi scrisă pe o linie nouă, dar foarte recomandat. De asemenea, este recomandabil să plasați fiecare instrucțiune pe o linie separată.
Instrucțiuni JavaScript constau din: valori, operatori, expresii, cuvinte cheie si comentarii.
De exemplu, această instrucțiune îi spune browserului să scrie „Bună, lume!” în interiorul unui element HTML cu id="main":
Document.getElementById("main").textContent = "Bună ziua, lume!";
Sintaxa JavaScript definește următoarele tipuri de valori: valori fixe (literale), valori constanteŞi valori variabile.
Exemple de literale pentru a reprezenta diferite valori în JavaScript:
17 // literal întreg 23.8 // literal număr fracționar "HTML" // literal șir "HTML" // literal șir adevărat // literal boolean // literal matrice // literal matrice () // literal obiect (nume: "Dennis " , limbaj: "ru" ) // literal obiect (ab|bc) // literal expresie regulată
Limbajele de programare folosesc constante și variabile pentru a stoca valorile datelor.
Cuvântul cheie const este folosit pentru a declara constante, iar cuvintele cheie var și let sunt folosite pentru a declara variabile.
Const MAX_LENGTH = 17; // constant var section = "HTML"; // variabila let arr = ["HTML","CSS"]; // variabilă
let este o nouă modalitate de a declara variabilele care au apărut de la versiunea ES-2015 (ES6). Let diferă de var prin faptul că o variabilă declarată folosind let are un domeniu de aplicare diferit (sfera de aplicare a blocului) și, de asemenea, prin faptul că poate fi accesată numai după ce a fost creată.
JavaScript are o mulțime de mulți operatori diferiți. Ei înseamnă operatie de efectuat.
Depinde asupra numărului de operanzi, cu care operează operatorul, acestea sunt împărțite în binare și unare. Dar JavaScript are și un operator condiționat, care constă din 3 operanzi. Acest operator se numește ternar.
De exemplu, operatorul de atribuire (= semn):
// operand1 = operand2; coorX = 100; // de exemplu atribuiți numărul 100 variabilei coordX
Acest operator este folosit pentru sarcini (setari) operand1 are aceeași valoare ca și operand2.
Operator de atribuire este binar, deoarece operează pe doi operanzi.
De exemplu, operator de increment(semnul ++) este folosit pentru a crește valoarea numerică a operandului cu 1:
Var num = 5; ++num; // 6
Operator de creștere este unară, pentru că operează pe un singur operand.
Expresie este o combinație de valori, variabile și operatori care fie atribuie o valoare unei variabile, fie returnează o anumită valoare fără a o atribui.
De exemplu, expresia num = 955,47 folosește operatorul = pentru a atribui valoarea 7 variabilei num.
De exemplu, expresia „Hello,” + „Timofey” folosește operatorul + pentru a adăuga șirurile „Hello,” și „Timofey” fără alocare.
Instrucțiunile JavaScript încep adesea cu un cuvânt cheie. Acesta (cuvânt cheie) are scopul de a determina ce acțiune JavaScript trebuie efectuată.
De exemplu, cuvântul cheie var îi spune browserului să creeze variabile:
Var coordX = 5, coordY = 130;
Lista unor cuvinte cheie: break, continue, do ... while, for, function, if ... else, return, switch, try ... catch, var.
Nu toate instrucțiunile JavaScript sunt executabile.
Codul după barele oblice duble // sau între /* și */ este tratat ca un comentariu.
Comentariile sunt ignorate și nu sunt executate:
Direcția Var = „sus”; // comentariu pe o linie // var viteza = 10; această instrucțiune nu va fi executată /* Funcție care adaugă clasa show la elementul cu id="myBtn" */ funcția showBtn() ( document.getElementById("myBtn").classList.add("show"); )
// - este un comentariu pe o linie, adică orice text între // și sfârșitul liniei va fi ignorat de JavaScript (neexecutat).
/* */ este un comentariu pe mai multe rânduri, orice text între /* și */ va fi ignorat de JavaScript.
Instrucțiunile JavaScript pot fi grupate folosind un bloc (acolade (...)).
Folosit de obicei în funcții, structuri de control (pentru, în timp ce), etc.
Funcția myFunction() ( document.getElementById("id__1").textContent = "Text 1..."; document.getElementById("id__2").textContent = "Text 2..."; )
JavaScript este limbaj sensibil la majuscule. Aceasta înseamnă că cuvintele cheie, variabilele, numele funcțiilor și alți identificatori de limbă trebuie să conțină același set de litere mari și mici. De exemplu, metoda de alertă ar trebui să fie introdusă doar ca alertă și nu Alert, ALERT etc.
JavaScript ignoră mai multe spații. Puteți adăuga spații la scriptul dvs. pentru a-l face mai lizibil.
Următoarele linii sunt echivalente:
Var str = „Text”; var str="Text";
Dacă o instrucțiune JavaScript este lungă, atunci este recomandabil să o întrerupeți. În cele mai multe cazuri, este mai bine să rupeți o instrucțiune după un anumit operator.
De exemplu:
Document.getElementById("aside__nav_header").innerHTML = "Navigare suplimentară (pe secțiune)";