Noi scriem cod de javascript de înaltă calitate

Evitați conversiile de tip implicit

Pentru a evita problemele cauzate de o conversie de tip implicită, utilizați întotdeauna operatorii === și! == pentru a testa atât valorile, cât și tipurile de expresii comparate:

Există o altă școală de programare, în cadrul căreia se obișnuiește să se presupună că operatorul === este suprautilizat. când este suficient operator ==. De exemplu, atunci când se utilizează un tip. care returnează un șir, nu există niciun motiv pentru a solicita respectarea strictă. Dar JSLint necesită respectarea strictă. Și, în plus, codul va arăta mai complet și va reduce cantitatea de gândire în timpul citirii ("Este acest operator == utilizat în mod intenționat sau din greșeală?").

Evitați utilizarea eval ()

Utilizarea eval () poate afecta și securitatea, deoarece puteți executa codul (de exemplu, obținut din rețea) care cauzează deteriorări. O practică destul de comună rău cu răspunsul JSON la cererea AJAX. În acest caz, este mai bine să utilizați metodele browserului încorporat pentru a analiza răspunsul JSON pentru a rezolva problema într-un mod sigur și corect. Pentru browserele care nu acceptă JSON.parse (), puteți utiliza biblioteca cu JSON.org.

Folosind noul constructor nou de funcții () este similar cu eval (). așa că trebuie tratată cu prudență. Acesta este un instrument puternic, dar este adesea utilizat în mod abuziv. Dacă aveți absolut nevoie să utilizați eval (). luați în considerare utilizarea funcției noi (). Există un mic avantaj potențial, deoarece codul definit în noua funcție () va fi rulat în spațiul funcțional local, astfel încât variabilele definite cu directiva var în codul specificat nu vor deveni automat globale. O altă modalitate de a evita detectarea automată a variabilelor globale este de a înfășura eval () într-o funcție.

Luați în considerare următorul exemplu. Aici, doar un variabilă rămâne o variabilă globală care poluează spațiul de nume:

O altă diferență între eval () și noul constructor Function () este că eval () se poate intersecta cu un lanț de spațiu de nume și funcția este executată în nisip. Nu contează unde efectuați funcția. utilizează doar spațiul de nume global. Prin urmare, poluează spațiul de nume local mai puțin. În exemplul următor, eval () poate accesa și modifica variabilele din spațiul său de nume extern, dar funcția nu poate (folosind funcția și noua funcție este identică):

Conversia unui număr cu parseInt ()

Folosind parseInt (), puteți obține un număr din șir. Funcția ia cel de-al doilea parametru - baza sistemului de numere, care este adesea omisă. Dar în zadar. Problema apare când trebuie să parsezi un șir care începe cu 0: de exemplu, partea din data care este introdusă în câmpul de formular. Un șir care începe cu 0 este tratat ca un număr octal (baza 8), așa cum este definit în ECMAScript 3 (dar modificat în ECMAScript 5). Pentru a evita incompatibilitatea și rezultatele neașteptate, trebuie să utilizați întotdeauna parametrul radix:

În acest exemplu, dacă omiteți parametrul radix (invoca o funcție ca parseInt (ani)), veți primi o valoare de 0, deoarece „09“, se înțelege ca un număr octal (ca și în cazul în care ați efectuat parseInt apel (an, 8)) și 09 - număr greșit pe bază 8.

Metode alternative pentru conversia unui șir la un număr:

Aceste metode sunt deseori executate mai repede decât parseInt (). deoarece parseInt () analizează șirul, mai degrabă decât doar convertește-l. Dar dacă presupuneți că intrarea poate fi în forma "08 hello", atunci parseInt () va returna numărul și alte metode vor eșua cu întoarcerea NaN.

Codul cerințelor

Este important să compilați cerințele de cod și să le urmați - acest pas va face codul holistic, previzibil și mult mai ușor și mai ușor de înțeles. Un nou dezvoltator al echipei dvs., următoarele cerințe pentru cod, va intra în ritmul de lucru mult mai rapid, percepând codul scris de alți participanți la proiect.

Crizele și dezasocierile grave apar atunci când se discută diferite aspecte ale cerințelor codului (de exemplu, decât indentarea prin spații sau file). Prin urmare, atunci când introduceți cerințe pentru cod, trebuie să vă pregătiți serios pentru discuții. Dar cerințele pentru cod și respectarea strictă a acestuia sunt foarte importante pentru existența și dezvoltarea cu succes a proiectului.

Și unde ar trebui să indent? Regula este simplă - ori de câte ori există bretele curbate. Adică, în corpul funcțiilor, buclele (face, în timp, pentru, for-in), dacă și comutați declarații. și proprietățile obiectului. Următorul cod arată exemple de utilizare a indentării:

bretele

Parantezele curbate ar trebui folosite întotdeauna, chiar dacă acestea sunt opțiuni. Din punct de vedere tehnic, atunci când aveți o singură expresie într-o declarație if sau pentru. nu sunt necesare bretele, dar ar trebui folosite oricum. Ele fac codul mai consistent și mai ușor de extins.

Imaginați-vă că aveți un ciclu cu o singură expresie. Puteți omite parantezele, care nu reprezintă o eroare de sintaxă:

Dar dacă mai târziu trebuie să adaug o altă linie la corpul bucla?

A doua funcție de alertă este în afara buclei, iar indentarea poate juca o glumă proastă asupra dvs. Cel mai bine este să utilizați întotdeauna paranteze în perspectiva unei perspective, chiar și pentru un bloc cu o singură linie:

De asemenea, pentru condițiile:

Noi scriem cod de javascript de înaltă calitate

Prin obținerea de informații imediat prin două canale (vedere și auz), eficiența predării este mult mai mare decât învățarea din cărți. Și temele și testele online vă vor permite să gândiți în mod constant în limba pe care o învățați și să vă verificați imediat cunoștințele!

Noi scriem cod de javascript de înaltă calitate

Noi scriem cod de javascript de înaltă calitate

Dacă doriți să învățați HTML mult timp, atunci am o veste bună pentru dvs.!

Noi scriem cod de javascript de înaltă calitate

Dacă ați învățat deja HTML și doriți să treceți mai departe, următorul pas este să învățați tehnologia CSS.

Noi scriem cod de javascript de înaltă calitate

Dacă doriți să înțeleagă conceptele de domeniu si hosting, învață cum să creeze o bază de date, încărca fișiere pe un site web prin intermediul unui server FTP, crea subdomenii, configurați cutiile poștale pentru site-ul și să monitorizeze participarea, acest curs este conceput special pentru tine!

Articole similare