Ultima actualizare: 04/05/2018
Variabilele sunt folosite pentru a stoca date într-un program. Variabilele sunt concepute pentru a stoca unele date sau date temporare care își pot schimba valoarea în timpul funcționării. Cuvintele cheie var și let sunt folosite pentru a crea variabile. De exemplu, să declarăm variabila myIncome:
Var myIncome; // altă opțiune let myIncome2;
Fiecare variabilă are un nume. Numele este un șir aleatoriu de caractere alfanumerice, o liniuță de subliniere (_) sau un semn dolar ($), iar numele nu trebuie să înceapă cu caractere numerice. Adică, putem folosi litere, cifre și liniuțe de subliniere în nume. Cu toate acestea, toate celelalte personaje sunt interzise.
De exemplu, numele corecte ale variabilelor sunt:
$comision someVariable product_Store income2 myIncome_from_deposit
Următoarele nume sunt incorecte și nu pot fi folosite:
222lol @someVariable my%percent
De asemenea, nu puteți da nume variabilelor care se potrivesc cu cuvintele cheie rezervate. Nu există multe cuvinte cheie în JavaScript, așa că această regulă nu este greu de urmat. De exemplu, următorul nume ar fi incorect, deoarece for este un cuvânt cheie în JavaScript:
Var pentru;
Lista de cuvinte rezervate în JavaScript:
abstract, boolean, pauză, octet, caz, prinde, char, clasă, const, continua, depanator, implicit, șterge, face, dublu, altfel, enumerare, export, extinde, fals, final, în final, float, pentru, funcție, du-te, dacă, implementează, import, în, instanceof, int, interfață, lung, nativ, nou, nul, pachet, privat, protejat, public, întoarcere, scurt, static, super, comutator, sincronizat, asta, aruncă, aruncă, tranzitoriu, adevărat, încercare, tip de, var, volatil, gol, în timp ce, cu
Când denumiți variabile, rețineți că JavaScript este un limbaj sensibil la majuscule și minuscule, adică două variabile diferite sunt declarate în următorul cod:
Var myIncome; var MyIncome;
Puteți defini mai multe variabile simultan, separate prin virgule:
Var myIncome, procent, sumă; fie a, b, c;
Folosind semnul egal (numit și operator de atribuire), puteți atribui o valoare unei variabile:
venit var = 300; lasa pretul = 76;
Procesul de atribuire a unei valori inițiale unei variabile se numește inițializare.
Acum variabila venit va stoca numărul 300, iar variabila preț va stoca numărul 76.
Lucrul minunat despre variabile este că le putem schimba valoarea:
venit var = 300; venit = 400; console.log(venit); lasa pretul = 76; pret = 54; console.log(preț);
constanteFolosind cuvântul cheie const, puteți defini o constantă care, ca o variabilă, stochează o valoare, dar acea valoare nu poate fi modificată.
const rate = 10;
Dacă încercăm să îi schimbăm valoarea, vom întâlni o eroare:
const rate = 10; rata = 23; // eroare, rata este o constantă, deci nu îi putem schimba valoarea
De asemenea, este de remarcat faptul că, deoarece nu putem modifica valoarea unei constante, aceasta trebuie inițializată, adică atunci când o definim, trebuie să îi furnizăm o valoare inițială. Dacă nu facem acest lucru, atunci vom întâlni din nou o eroare:
const rate; // eroare, rata nu este inițializată
Este un set de convenții și reguli care trebuie urmate atunci când scrieți codul JavaScript. Acest acord se bazează pe documentele Sun Corporation pentru limbajul de programare Java. Dar, deoarece JavaScript nu este Java, documentul a fost rescris în raport cu limbajul JavaScript.
Valoarea pe termen lung a software-ului este direct legată de calitatea codului. În timpul existenței sale, programul trece printr-un număr mare de mâini și ochi ai dezvoltatorilor. Dacă codul programului este scris în așa fel încât să-și transmită clar structura și caracteristicile, atunci probabilitatea ca acesta să se rupă este redusă dacă îi sunt aduse modificări de către alți dezvoltatori sau de către autor însuși după o perioadă lungă de timp.
Acordurile de cod de program pot ajuta la îmbunătățirea calității rezultatelor și la reducerea probabilității de defecțiune a produsului.
Fișiere JavaScriptProgramele JavaScript trebuie să fie stocate în fișiere .js.
Codul JavaScript nu ar trebui să fie încorporat în fișierele HTML decât dacă codul este specific unei sesiuni. Codul HTML crește semnificativ greutatea paginii fără posibilitatea de a o reduce prin stocarea în cache și compresie.
etichetele trebuie plasate la sfârșitul documentului ori de câte ori este posibil. Acest lucru reduce întârzierile la încărcarea paginilor html.
IndentăriIndentarea ar trebui să aibă patru spații. Prin urmare, pentru a scrie cod, trebuie să configurați editorul astfel încât filele să conțină exact această cantitate. Utilizarea atâtor caractere poate afecta dimensiunea fișierului, dar această problemă poate fi rezolvată prin comprimarea fișierului înainte de a pune produsul în funcțiune.
Lungimea linieiEvitați liniile mai lungi de 80 de caractere. Dacă declarația nu se încadrează pe o singură linie, atunci trebuie mutată sau împărțită. Când se întrerupe o linie, următoarea linie trebuie să fie indentată cu 8 spații de la început.
Într-o abatere de la convenție, ținând cont de monitoarele și rezoluțiile moderne, lungimea liniei poate fi mărită la 120 de caractere. Editorii de cod moderni evidențiază această linie, de exemplu NetBeans, PHPStorm, iar lungimea acesteia poate fi ajustată.
ComentariiEste necesar să încercați să descrieți complet secțiuni complexe de cod. Dezvoltatorii care se uită la codul tău, sau tu însuți după un timp, ar trebui să înțeleagă ce face acest cod. Comentariile trebuie să fie bine scrise, clare, corecte dacă comentariul nu este suficient de complet, sau și mai rău, este eronat, ceea ce poate induce în eroare dezvoltatorul, caz în care este mai bine să nu scrieți deloc un comentariu.
De asemenea, comentariile nu trebuie să descrie lucruri evidente, altfel nu vor face decât să piardă timpul cititorului.
i = 0; // Setați i la zero.
O altă proprietate utilă a comentariilor este că atunci când sunt scrise în anumite reguli, cum ar fi JSDoc, acestea pot fi folosite pentru a genera documentație de cod.
Declararea variabilelorToate variabilele trebuie declarate înainte de a putea fi utilizate. JavaScript nu necesită astfel de construcții, dar face programul mult mai ușor de citit și ușurează detectarea variabilelor nedeclarate care pot fi presupuse a fi globale de către interpret. Variabilele globale implicite deduse nu ar trebui să fie niciodată utilizate, toate variabilele trebuie declarate doar în mod explicit, folosind operatorul var.
Construcția var trebuie să apară pe primul loc în corpul funcției.
Este de preferat ca fiecare variabilă să fie descrisă pe o linie nouă și să poată fi adăugată cu un comentariu. Ori de câte ori este posibil, cel mai bine este să păstrați declarațiile variabilelor în ordine alfabetică.
Var currentEntry, // nivelul de intrare al tabelului selectat curent, // dimensiunea nivelului de indentare; // dimensiunea mesei
JavaScript nu are un bloc de declarare a variabilelor, la fel ca limbajele precum Pascal, dar pentru a menține ordinea în codul dvs., cel mai bine este să declarați variabile la începutul funcției.
Utilizarea variabilelor globale ar trebui să fie redusă la minimum, iar declararea implicită a variabilelor globale nu trebuie folosită deloc.
Declararea FuncțiilorToate funcțiile trebuie declarate înainte de a fi utilizate. Funcțiile interne pot fi declarate folosind var. Acest lucru ajută la clarificarea care variabile sunt incluse în domeniul de aplicare al funcției.
Nu ar trebui să existe spațiu între numele funcției și paranteza de deschidere a listei de parametri. Trebuie să existe un spațiu între acolada de închidere și acolada ondulată a corpului funcției. Corpul funcției în sine trebuie să fie indentat cu patru spații. Acolada dreaptă a funcției în sine trebuie să fie aliniată cu linia care conține declarația funcției.
Funcția exterioară(c, d) ( var e = c * d; funcția inner(a, b) ( return (e * a) + b; ) return inner(0, 1); )
Dacă o funcție literală este anonimă, trebuie să existe un spațiu între cuvântul funcție și paranteza de deschidere a listei de parametri. Dacă nu există spațiu, poate exista confuzie că numele funcției este funcția, ceea ce poate părea a fi o eroare la citirea codului.
Div.onclick = function (e) ( return false; ); that = ( metoda: function () ( return this.datum; ), datum: 0 );
Utilizarea funcțiilor globale ar trebui, de asemenea, redusă la minimum.
Când o funcție trebuie apelată imediat, aceasta este inclusă în paranteze. Rezultatul unei astfel de funcții va fi ceea ce funcția returnează, dar nu o referință la funcția în sine.
Colecție Var = (funcție () ( taste var = , valori = ; return (get: funcție (cheie) ( var at = keys.indexOf(key); if (la >= 0) (valori returnate; ) ), set: funcție (cheie, valoare) ( var at = keys.indexOf(key); if (at = 0) ( keys.splice(at, 1); values.splice(at, 1); ) ) ); ;
NumeNumele de variabile sau funcții pot fi compuse din 26 de caractere mari și mici (A .. Z, a ... z), 10 cifre (0 .. 9) și un caracter de subliniere. Este mai bine să evitați folosirea caracterelor internaționale, deoarece citirea și înțelegerea lor poate provoca unele dificultăți. Nu utilizați semnul $ (semnul dolar) sau (bară oblică inversă) în numele variabilelor și funcțiilor.
Nu utilizați caracterul de subliniere _ ca prim caracter al numelui. Această tehnică este uneori folosită pentru a desemna variabile sau funcții locale (private), dar nu face ca aceste variabile să fie private. Dacă codul dvs. trebuie să utilizeze membri privați, ar trebui să evitați expunerea acestor date.
Majoritatea variabilelor și funcțiilor trebuie să înceapă cu o literă mică.
Funcții de constructor care folosesc un operator pentru a lucra nou trebuie să înceapă cu o literă mare. Când compilați un script JavaScript sau verificați codul cu instrumente terțe, vor fi afișate avertismente dacă funcțiile sau numele variabilelor sunt folosite fără un construct nou. Lucrul unei funcții de constructor care nu utilizează un operator nou se va comporta complet diferit, astfel încât convenția de a scrie astfel de funcții cu majuscule este într-o oarecare măsură o protecție împotriva erorii.
Variabilele globale, care poartă semnificația constantelor sau spațiilor de nume, trebuie scrise cu majuscule, deoarece nu există astfel de constructe în JavaScript.
Operatori Operatori simpliFiecare linie trebuie să conțină cel mult o declarație. Fiecare instrucțiune simplă trebuie să se încheie cu punct și virgulă (;). Rețineți că instrucțiunea de atribuire căreia este alocat literalul funcției trebuie să se încheie cu punct și virgulă.
În JavaScript, orice expresie va fi un operator. Acest lucru poate ascunde unele erori dacă aceste instrucțiuni folosesc punct și virgulă la sfârșit. De exemplu, acesta ar putea fi un șir obișnuit cu punct și virgulă la sfârșit, care nu va cauza nicio eroare sau nu va rupe scriptul.
Operatori compusiDeclarațiile compuse sunt instrucțiuni care conțin liste cu alte instrucțiuni incluse în () (acolade).
Disponibilitatea etichetelor pauzăŞi continuaîn cod poate fi folosit numai în constructe în timp ce, pentru, doŞi comutator.
declarație de returnareValoarea unei instrucțiuni return nu trebuie să fie niciodată inclusă în () (paranteze). Valoarea acestei instrucțiuni trebuie să înceapă pe aceeași linie cu instrucțiunea return pentru a evita inserarea accidentală a punctului și virgulă la interpretarea sau comprimarea codului.
declarația dacăConstrucția if ar trebui să arate astfel:
If (condiție) ( declarații ) if (condiție) ( declarații ) else ( declarații ) if (condiție) ( declarații ) else if (condiție) ( declarații ) else ( afirmații)
pentru declarațieInstrucțiunea for trebuie să aibă următoarea structură:
Pentru (inițializare; condiție; actualizare) ( instrucțiuni ) pentru (variabilă în obiect) ( dacă (filtru) ( instrucțiuni ) )
Prima formă de notație este folosită pentru a lucra cu tablouri și bucle cu un număr dat de iterații.
A doua formă este folosită atunci când lucrați cu obiecte. Trebuie să rețineți că membrii care sunt adăugați la prototipul obiectului vor fi incluși în enumerare. Pentru a face acest lucru, trebuie să utilizați o verificare folosind metoda hasOwnProperty pentru a distinge adevăratele proprietăți ale obiectului:
Pentru (variabilă în obiect) (if (object.hasOwnProperty(variabilă)) (instrucțiuni) )
în timp ce declarațiaConstrucția while ar trebui să arate astfel:
În timp ce (condiție) ( declarații )
face operatorDeclarația do ar trebui să arate astfel:
Do ( statements ) while (condiție);
Spre deosebire de alte afirmații compuse declarate, aceasta trebuie întotdeauna să se termine; (punct şi virgulă).
declarație switchDeclarația switch ar trebui să arate astfel:
Comutare (expresie) (expresie caz: declarații implicit: instrucțiuni)
Fiecare ramură case trebuie să fie pe aceeași linie cu o instrucțiune switch. Acest lucru evită indentarea excesivă.
Fiecare grup de instrucțiuni case, cu excepția implicită, trebuie să se încheie cu pauză, reveni sau arunca.
încercați declarațiaDeclarația try ar trebui să arate astfel:
Try ( statements ) catch (variable) ( statements ) try ( statements ) catch (variable) ( statements ) finally ( statements )
Continuați operatorulEvitați utilizarea instrucțiunii continue. Această instrucțiune tinde să ascundă fluxul de execuție al funcției.
Declarația cuOperatorul With nu trebuie utilizat.
SpațiiLiniile goale îmbunătățesc lizibilitatea prin împărțirea codului în secțiuni care sunt conectate logic.
Spațiile trebuie utilizate în următoarele cazuri:
În proiectele mari, devine foarte dificil să se țină cont de toate aceste convenții fără utilizarea instrumentelor auxiliare și a editorilor de cod. Prin urmare, pentru propriul control, este nevoie să achiziționați astfel de instrumente.
JSLint. Instrument pentru verificarea codului JavaScriptLimbajul JavaScript este un limbaj interpretat care nu are un compilator propriu, în comparație cu limbaje precum Java, C++, care ar verifica calitatea codului scris la construirea unui proiect sau înainte de lansare, ținând cont de diverse nuanțe, precum ca variabile declarate, dar neutilizate, cod de secțiuni neoptimizate, punct și virgulă lipsă etc. Prin urmare, ar fi util să existe un instrument care să efectueze o verificare și să semnaleze dezvoltatorului diverse erori.
Un astfel de instrument este JSLint. JSLint este un program scris în JavaScript al cărui scop este de a găsi probleme în programele JavaScript.
Când C era încă un limbaj tânăr, existau mai multe erori comune de programare care nu erau surprinse de compilatoarele primitive, așa că a fost dezvoltat un program numit lint pentru a scana un fișier sursă pentru erori.
Când limbajul a atins un anumit nivel de perfecțiune, compilatorii au început să-l verifice mai bine și să emită mesaje adecvate, după care nu mai era nevoie de programul lint.
JavaScript este o limbă tânără. Inițial, a fost folosit pentru a efectua sarcini mici în paginile web, sarcini pentru care Java era prea grea și greoaie. În zilele noastre, JavaScript joacă un rol important în web și este folosit în proiecte mari și complexe. Multe dintre caracteristicile care au fost implementate în limbaj au fost menite să simplifice, dar atunci când proiectele devin mai mari și mai complexe, există motive de îngrijorare cu privire la o astfel de funcționalitate. Prin urmare, programele JavaScript au nevoie de un instrument precum puf.
JSLint ia codul sursă JavaScript și îl scanează. Când se găsește o problemă, este returnat un mesaj cu descrierea și locația sa aproximativă în fișierul sursă. Problema poate să nu fie neapărat o eroare de sintaxă, de asemenea, se efectuează verificări de stil și conformitatea cu structura codului.
Variabile globaleCea mai mare problemă în JavaScript este dependența de variabilele globale care au fost declarate implicit. Dacă o variabilă nu este declarată folosind constructul var, atunci în JavaScript această variabilă devine globală, ca proprietate a obiectului fereastră. Din acest motiv, pot apărea diferite tipuri de erori.
JSLint necesită ca toate variabilele și funcțiile să fie declarate înainte de a fi utilizate sau apelate. Acest lucru vă permite să detectați cu ușurință variabilele globale și este, de asemenea, o bună practică și ușurează citirea codului sursă al programului.
Uneori, un fișier depinde de variabile și funcții globale care sunt definite în altă parte. Pentru a face acest lucru, este necesar să descrieți astfel de variabile într-o directivă specială /*global */, care indică lui JSLint că sunt folosite în alte fișiere și nu sunt eronate. Variabilele dintr-o directivă sunt o listă de nume separate prin virgule. Fiecare nume poate include două puncte urmate de un indicator adevărat sau fals, indicând dacă variabila a fost destinată fișierului respectiv sau nu.
Unele variabile globale pot fi deja definite inițial. Să presupunem un browser, atunci când predefinim proprietățile globale standard care sunt furnizate de browser, cum ar fi documentŞi addEventListener.
/*global clearInterval: fals, clearTimeout: fals, document: fals, eveniment: fals, cadre: fals, istoric: fals, Imagine: fals, locație: fals, nume: fals, navigator: fals, Opțiune: fals, părinte: fals , ecran: false, setInterval: fals, setTimeout: fals, fereastra: fals, XMLHttpRequest: fals */
Inclusiv consola, alertă, funcții care pot fi redefinite la nivel global, sau care pot fi extinse, sau pe care este indicat să le evitați în produsul final.
/*alertă globală: fals, confirmare: fals, consolă: fals, Depanare: fals, opera: fals, prompt: fals, WSH: fals */
Punct şi virgulăJavaScript folosește o sintaxă asemănătoare C care necesită utilizarea punctului și virgulă pentru a delimita instrucțiunile. În JavaScript, plasarea unui punct și virgulă la sfârșitul fiecărei instrucțiuni este opțională, puteți utiliza în schimb un flux de rând, iar acest cod va funcționa pentru browserul web, dar această abordare poate provoca erori.
JSLint se așteaptă ca fiecare instrucțiune să se termine; (punct și virgulă), excepțiile în unele situații pot fi numai for, function, if, switch, try și while.
VirgulăOperatorul virgulă poate duce la expresii prea complexe și poate, de asemenea, masca unele erori de programare.
JSLint se așteaptă să vadă utilizarea unei virgule ca separator, dar nu ca instrucțiune (cu excepția părților de inițializare și incrementare ale unei instrucțiuni).
Domeniul de aplicareÎn multe limbi, un bloc își definește domeniul de aplicare. Variabilele declarate în acest bloc nu sunt vizibile în afara acestuia.
În JavaScript, blocurile nu definesc domeniul de aplicare. Domeniul de aplicare este definit numai în cadrul funcției. O variabilă definită într-o funcție va fi vizibilă peste tot în acea funcție. Blocurile din JavaScript pot deruta programatorii experimentați din alte limbi în acest sens, datorită sintaxei lor similare, ceea ce poate duce, în consecință, la erori.
În limbajele blocate, se recomandă, în general, declararea variabilelor în locul în care sunt utilizate direct. Dar, deoarece JavaScript nu are domeniul de aplicare al blocului, este corect să declarați toate variabilele în partea de sus a funcției. Se recomandă utilizarea unui operator var per funcție. Această recomandare poate fi dezactivată folosind opțiunea vars.
Blocuri necesareJSLint presupune că instrucțiunile if, while, do și for conțin paranteze, indiferent de câți operatori sunt prezenți în acele constructe.
JavaScript permite următorul mod de scriere:
if (condiție) declarație;
Această formă de notație este cunoscută pentru a introduce erori în proiecte. Prin urmare, JSLint sugerează utilizarea următoarei notații:
Dacă (condiție) ( declarații; )
Experiența dezvoltatorilor arată că această formă de înregistrare este mai rezistentă la erori.
pentru inO buclă for in este folosită pentru a lista toate proprietățile unui obiect. Dar și cu ajutorul acestui ciclu sunt vizualizate absolut toate proprietățile, inclusiv cele care au fost moștenite prin prototip. Este un efect secundar rău atunci când obținem o metodă ca proprietate. Dacă o astfel de buclă este scrisă fără a fi conștientă de această situație, atunci această secțiune de cod poate provoca o eroare.
Corpul buclei ar trebui să fie înfășurat într-o instrucțiune if care testează o proprietate a obiectului pentru a exclude proprietățile prototipului, de exemplu:
Pentru (nume în obiect) ( dacă (object.hasOwnProperty(nume)) ( .... ) )
În cele mai multe cazuri, acest operator trebuie evitat complet. Cel mai bine este să vă bazați pe metode precum Object.keys și Array.prototype.forEach.
comutatorO greșeală comună într-o instrucțiune switch este uitarea de a plasa pauză după constructul case. JSLint se așteaptă ca fiecare instrucțiune case să se termine cu o pauză, returnare sau aruncare. Fiecare construct de caz va fi aliniat cu o instrucțiune switch.
varJavaScript vă permite să definiți var oriunde într-o funcție. JSLint în acest caz este mai strict cu privire la astfel de definiții.
JSLint se așteaptă ca constructul var să fie declarat o singură dată și înainte de a fi folosit.
JSLint se încruntă în privința utilizării constructelor var în paranteze, deoarece acestea nu au propriul domeniu de aplicare.
cuAceastă construcție a fost inițial destinată să ofere acces rapid la proprietățile obiectelor imbricate profund. Utilizarea acestui construct poate duce la confuzie între utilizarea variabilelor și proprietăților, ceea ce poate duce la un comportament imprevizibil al programului. Prin urmare, este mai bine să nu utilizați niciodată acest operator.
== și!=Operatorii AND != efectuează o distribuție de tip înainte de comparare. Acest lucru este rău, deoarece diverse construcții, de exemplu, „trn” == 0 vor fi adevărate. Acest lucru poate masca erorile. JSLint nu poate determina în mod fiabil dacă utilizarea == este justificată în prezent, deci este întotdeauna mai bine să folosiți comparații fără turnare implicită de tip, și anume === și !==.
Folosind opțiunea eqeq, puteți dezactiva verificarea acestui operator.
++ și --JSLint este împotriva utilizării acestor operatori. Puteți activa utilizarea lor folosind opțiunea plusplus.
Operații cu bițiJavaScript nu are un tip Integer, dar are operatori pe biți. Operatorii pe biți convertesc operanzii în virgulă mobilă în numere întregi și invers, deci nu sunt la fel de eficienți ca în C sau în alte limbaje. Ele sunt rareori utile în aplicațiile browser. Asemănarea cu operatorii logici poate masca unele erori de programare. Opțiunea pe biți permite utilizarea acestor operatori.
Eval este răuFuncția eval (și rudele sale setTimeout și setInterval) oferă acces la compilatorul JavaScript. Acest lucru este uneori necesar, dar de cele mai multe ori indică un stil de programare foarte slab. Funcția eval este cea mai greșită caracteristică a JavaScript.
Constructori și noiConstructorii sunt funcții care sunt destinate a fi utilizate cu noul operator. Acest prefix creează un nou obiect bazat pe prototipul funcției și asociază acel obiect funcție cu variabila atribuită. Dacă neglijați să utilizați operatorul nou pentru funcția de constructor, rezultatul returnat nu va fi exact cel așteptat.
JSLint impune convenția conform căreia funcțiile de constructor trebuie să aibă nume a căror prima literă este majuscule, altfel va fi considerată o eroare de validare dacă funcția este apelată cu noul operator.
Utilizarea noului operator cu obiecte precum Number, String, Boolean va fi considerată o eroare în timpul verificării.
Când verificați un astfel de nou construct de obiect, JSLint va presupune că este invalid și este mai bine să utilizați notația scurtă - ().
OpțiuniJSLint oferă mai multe opțiuni care controlează modul în care funcționează. Într-o aplicație web JSLint, opțiunile sunt selectate folosind casete de selectare și două câmpuri.
Când JSLint este apelat ca funcție, este nevoie de un parametru - un obiect opțiuni care vă permite să specificați un subset acceptabil de JavaScript. Pe o pagină web, versiunea http://www.JSLint.com a JSLint face acest lucru automat.
Opțiunile pot fi, de asemenea, setate într-un script folosind directiva /*JSLint*/:
/*jslint nomen: true, debug: true, evil: false, vars: true */
Descriere | Opţiune | Sens |
Tolerează expresiile de atribuire | cur | adevărat dacă atribuirea ar trebui permisă în afara poziției declarației. |
Ignorarea operatorilor de biți | pe biți | true dacă operatorii pe biți nu ar trebui testați |
Permite funcțiile browserului | browser | adevărat, variabilele globale standard ale browserului sunt luate în considerare |
Permiteți expresii Google Closure | închidere | adevărat dacă adnotările Google Closure ar trebui permise |
Permite continuarea | continua | adevărat, astfel încât utilizarea lui countinue este ignorată |
Propunerea CouchDB | canapea | adevărat dacă doriți ca funcțiile CouchDB să fie considerate globale |
Permite debgger | depanare | adevărat dacă instrucțiunea de depanare ar trebui permisă |
Permite consola, alertă | dezvolta | true dacă opțiunea browser nu este setată și acești operatori trebuie să fie permisi |
Permite == și != | eq | adevărat dacă ar trebui permise operatorii == și != |
Permite evaluarea | rău | adevărat dacă eval ar trebui să fie permis |
Spații și indentare | indentare | Numărul de spații utilizate pentru indentare (implicit 4) |
Numărul maxim de erori | maxerr | Numărul maxim de avertismente pentru un raport de scanare (implicit 50) |
Lungimea maximă a liniei | maxlen | Numărul maxim de caractere pe linie |
Folosind majuscule la începutul unui cuvânt din numele constructorului | newcap | adevărat dacă sunt necesare primele litere ale numelor funcțiilor de constructor |
Luați în considerare Node.js | nodul | adevărat dacă Node.js ar trebui să ia în considerare variabilele globale |
Permiteți liniuța _ în identificatori | nomen | adevărat dacă astfel de variabile nu ar trebui permise |
Oprirea la prima greșeală | trecerea | adevărat dacă scanarea ar trebui să se oprească la prima eroare |
Permite ++ și -- | plusplus | adevărat dacă utilizarea ++ sau -- ar trebui permisă |
Permite lipsa „utilizare strictă” la începutul unei funcții | neglijent | adevărat, astfel încât inserarea liniei „utilizați strict” este opțională |
Permite comentarii TODO | tot | adevărat, pentru a nu reacționa la comentariile TODO |
Permite parametrii neutilizați | unparam | adevărat, nu afișați avertismente despre parametrii neutilizați |
Permite mai multe var într-o funcție | vars | adevărat, pentru utilizarea multiplă a var într-o funcție |
Permite spații albe murdare | alb | adevărat pentru a ignora spațiile murdare |
Variabile și constante în JavaScript. Declararea variabilelor și atribuirea de valori acestora. Variabile globale și locale. Folosind constante
Declararea variabilelor în JavaScriptNumele de variabile în JavaScript pot consta din litere, cifre, semnul $ și semnul _, iar numele variabilei nu poate începe cu un număr. Rețineți că JavaScript este sensibil la majuscule și minuscule, iar variabilele a1 și A1 sunt variabile diferite. Nu este recomandat să utilizați chirilic, deși este posibil.
Variabilele în JavaScript sunt declarate cu cuvântul cheie var:
Var Peremennaya_1 var Peremennaya_2
Nu este recomandat să folosiți variabile în JavaScript fără declarație. Acest lucru este posibil, dar poate duce la erori.
Atribuirea de valori variabilelorAtribuirea unei valori variabilelor declarate în JavaScript:
Peremennaya_1 = 25 Peremennaya_2 = „Textul atribuit este inclus între ghilimele drepte”
Puteți atribui o valoare variabilelor imediat după declarare:
Var Peremennaya_1 = 25 var Peremennaya_2 = "Textul atribuit este cuprins între ghilimele drepte"
Valoarea unei variabile în JavaScript se poate modifica în timpul execuției programului. Când scrieți text într-o variabilă, aceasta trebuie inclusă între ghilimele drepte.
Variabile locale și globaleDacă o variabilă este declarată în interiorul unei funcții, atunci este locală și va fi accesibilă (vizibilă) numai în cadrul acestei funcții. Când o funcție iese, variabilele locale din JavaScript sunt distruse, astfel încât să puteți utiliza variabile cu același nume în diferite funcții.
Dacă o variabilă este declarată în afara funcțiilor, atunci este globală și va fi disponibilă (vizibilă) în toate funcțiile din pagină. Variabilele globale sunt distruse în JavaScript când pagina este închisă.
Constante în JavaScriptConstantele sunt concepute pentru a face mai ușor să lucrați cu codul atunci când trebuie să utilizați valori sau expresii repetate. Este suficient să setați valoarea constantei o dată și o puteți folosi cât doriți, inserând-o în codul programelor dvs. JavaScript nu are un cuvânt cheie pentru a declara constantele sunt utilizate în loc de constante. Pentru a distinge constantele de variabile, acestea sunt de obicei notate cu majuscule, folosind un caracter de subliniere dacă este necesar:
Var DRUG_CHELOVEKA = "Câine"
Exemplul dat de constantă nu este complet complet, deoarece cuvântul „câine” este deja ușor de reținut și de inserat acolo unde este necesar. Puteți folosi constante în JavaScript pentru a înregistra și a insera valori mai complexe, cum ar fi coduri greu de reținut, seturi de caractere, text lung, adrese web, adrese de e-mail, numere de telefon și diverse cote.
În JavaScript, constantele pot fi rescrise ca variabile, dar dacă faceți acest lucru, atunci sensul constantelor se pierde.
În acest articol, veți învăța cum să definiți constante în JavaScript folosind cuvântul cheie const.
ES6 oferă o nouă modalitate de a declara constante folosind cuvântul cheie const. Cuvântul cheie const creează o referință numai în citire la o valoare.
Const VARIABLE_NAME = valoare;
Prin convenție, identificatorii constanti în JavaScript sunt majuscule.
Cuvântul cheie const este similar cu cuvântul cheie let, prin aceea că creează variabile blocate, dar valorile declarate cu const nu pot fi modificate.
Variabilele declarate cu cuvântul cheie let sunt modificabile. Aceasta înseamnă că le puteți modifica oricând valorile, așa cum se arată în exemplul următor.
Fie v = 10;
v = 20;
v = v + 5;
console.log(v); // 35
Cu toate acestea, variabilele create cu cuvântul cheie const sunt imuabile. Cu alte cuvinte, nu le puteți reatribui la valori diferite. Încercarea de a reatribui o variabilă constantă va avea ca rezultat o TypeError.
TAX constant = 0,1;
TAXA = 0,2 ; //TypeError
În plus, o variabilă care este declarată folosind cuvântul cheie const trebuie inițializată imediat cu o valoare. Următorul exemplu generează o SyntaxError din cauza lipsei unui inițializator într-o declarație de variabilă constantă.
Const RED; // SyntaxError
După cum am menționat mai devreme, la fel ca variabilele declarate cu cuvântul cheie let, variabilele declarate cu cuvântul cheie const au domeniul de aplicare al blocului.
Asta e tot, în articolul următor vom vorbi despre utilizarea cuvântului cheie const cu literalmente obiect în JavaScript.
De la autor: Poate că acest lucru va fi surprinzător, dar JavaScript a lipsit de mult suport pentru constante, adică. valori înregistrate care nu se modifică pe parcursul execuției întregului script. În absența oricăror alternative, majoritatea constantelor au fost declarate folosind variabile.
Un exemplu de declarare a unei constante folosind o variabilă:
var DAYSINWEEK = 7;
var DAYSINWEEK = 7 ; |
Acest lucru este atât periculos, cât și nepractic, deoarece vă permite să schimbați valoarea variabilei DAYSINWEEK din scriptul dvs. în orice moment. Dezvoltatorii au venit cu o varietate de moduri de a distinge variabilele care sunt aparent constante de variabilele obișnuite în JavaScript, variind de la denumirea variabilelor NUMAI cu LITTRE MAJUSCULE (cea mai bună practică) până la soluții despre care voi vorbi mai târziu. Din fericire, cea mai recentă versiune a ECMAScript (o specificație care este un standard) a introdus o constantă reală:
JavaScript. Pornire rapidă
const DAYSINWEEK = 7;
const DAYSINWEEK = 7 ; |
Și acum DAYSINWEEK poate fi accesat ca variabilă, dar nu vei putea niciodată să-i schimbi valoarea:
console.log(DAYSINWEEK); > 7 ZILE ÎN SĂPTĂMÂNĂ = 8; > eroare
consolă. log(DAYSINWEEK); DAYSINWEEK = 8 ; > eroare |
Odată ce o constantă a fost declarată (constantele trebuie inițializate cu cuvântul cheie const, urmat de un nume constant care urmează convențiile de denumire a variabilelor), numele acesteia va fi rezervat: nu mai puteți denumi o variabilă DAYSINWEEK și aveți o constantă cu același nume , sau invers.
Cuvântul cheie const are suport bun în browserele moderne: IE11 și Spartan, Firefox 31+, Opera 12+, Safari 5.1.7+, iOS 7 și versiuni ulterioare, împreună cu Chrome 36+. Cu toate acestea, există câteva avertismente importante:
Chrome nu acceptă afișarea unei erori atunci când încercați să suprascrieți o constantă. Valoarea constantei nu va fi modificată în niciun caz, dar un dezvoltator neexperimentat poate crede că noua valoare a fost aplicată deoarece nu a fost scoasă nicio eroare.
JavaScript. Pornire rapidă
Aflați elementele de bază ale JavaScript cu un exemplu practic despre cum să creați o aplicație web.
Constantele nu creează un domeniu nou în Webkit. Aceste. constantele pot fi vizibile în afara domeniului curent.
Firefox 35 și versiunile anterioare vă permit să schimbați din mers valoarea unui const. Acest lucru a fost remediat în Firefox 36+.
De asemenea, trebuie remarcat faptul că problemele cu Webkit apar numai dacă nu se utilizează modul strict (ceea ce va fi discutat într-un articol viitor).
Este posibil să folosiți cuvântul cheie const în proiecte reale acum?Alegerea de a utiliza sau nu cuvântul cheie const în codul dvs. va depinde de mai mulți factori: cel mai important lucru este ce versiuni de browsere folosesc vizitatorii site-ului dvs., deoarece utilizarea cuvântului cheie const va fi considerată o eroare în browsere precum IE10. . Dacă doriți să utilizați cuvântul cheie const în dezvoltare, dar nu sunteți pregătit să îl utilizați în proiecte reale, atunci aveți mai multe opțiuni:
Opțiunea 1: utilizați un transpiler („transpiler”)Transpilerii, după cum sugerează și numele, vă transformă codul în timpul compilării într-o altă limbă: în acest caz, de la versiunea specificației ES6 (care a introdus cuvântul cheie const) la ES5. Acest lucru vă permite să scrieți cod într-o versiune mai nouă a limbii, dar proiectul real va folosi o versiune care este compatibilă cu o gamă mai largă de browsere. Eddie Osmani a compus