5 dažniausios „JavaScript“ klaidų priežastys (ir kaip jų išvengti)

„JavaScript“ (JS) yra visur paplitusi, lanksti ir plačiai populiari programavimo kalba, nors ji taip pat linkusi į klaidas ir klaidas, dėl kurių dauguma kūrėjų susigraudina ir sukimba..


JS yra plačiai naudojamas siekiant sustiprinti vartotojo interaktyvumą daugumos interneto programų kliento pusėje. Be „JavaScript“, galbūt viskas internete gali būti negyva ir neskatinanti. Nepaisant to, kalbos ebbs ir srautai kartais verčia kūrėjus užmegzti meilės ir neapykantos ryšius.

Dėl „JavaScript“ klaidų programos gali duoti netikėtų rezultatų ir pakenkti vartotojui. Neseniai tyrimas Britų Kolumbijos universitetas (UBC) siekė išsiaiškinti „JavaScript“ klaidų ir klaidų pagrindines priežastis ir poveikį. Tyrimo rezultatai atskleidė keletą bendrų modelių, kurie pablogina JS programų vykdymą.

Čia yra lentelių lentelė, rodanti, ką tyrėjai sužinojo:

Šiame tinklaraščio įraše iliustruosime kai kurias įprastas „JavaScript“ klaidų priežastis, nurodytas tyrime (ir kitas, su kuriomis susiduriame kasdien), ir tai, kaip padaryti jūsų programas mažiau linkusias į nesėkmes..

Susijęs su DOM

Dokumentų objekto modelis (DOM) vaidina gyvybiškai svarbų vaidmenį interneto svetainių interaktyvume. DOM sąsaja leidžia manipuliuoti tinklalapio turiniu, stiliumi ir struktūra. Padaryti paprastus HTML tinklalapius interaktyvius arba manipuliuoti DOM yra pati priežastis, kodėl „Java“ programavimo kalba buvo išleista.

Taigi, net ir įdiegus „JavaScript“ technologijas, tokias kaip „Node.js“, darbas su DOM vis dar sudaro didelę dalį to, ką kalba. Todėl DOM yra reikšmingas būdas įdiegti klaidas ir klaidas „JavaScript“ programose.

Nenuostabu, kad atlikus „JavaScript“ klaidų tyrimo tyrimą paaiškėjo, kad DOM problemos yra atsakingos už daugumą trūkumų (68 proc.).

Pvz., Kai kurie „JavaScript“ programuotojai paprastai padaro klaidą nurodydami DOM elementą prieš jį įkeldami, dėl ko atsiranda kodų klaidos.

document.getElementById ("konteineris") .innerHTML = "Dažnos JS klaidos ir klaidos";

Jei aukščiau pateiktas kodas paleistas „Chrome“ naršyklėje, jame bus rodoma klaida, kurią galima pamatyti kūrėjų pulte:

Klaida išmesta, nes „JavaScript“ kodas paprastai vykdomas pagal tvarką, kokia ji yra dokumente. Paprastai naršyklė nežino nurodyto elemento, kai veikia kodas.

Norėdami išspręsti tokią problemą, galite naudoti įvairius metodus. Paprasčiausias būdas yra pastatyti prieš scenarijaus žymą pradžios. Taip pat galite naudoti „JavaScript“ biblioteką, pavyzdžiui, „jQuery“, kad įsitikintumėte, jog DOM pirmiausia įkeltas, kad būtų galima prieiti prie jos.

document.getElementById ("konteineris") .innerHTML = "Dažnos JS klaidos ir klaidos";

Sintaksės pagrindu

Sintaksės klaidos įvyksta, kai „JavaScript“ vertėjas nesugeba įvykdyti sintaksiškai neteisingo kodo. Jei kurdamas programą ir vertėjas pastebi žetonus, kurie neatitinka standartinės „JavaScrip“ programavimo kalbos sintaksės, ji įmes klaidą. Remiantis „JavaScript“ klaidų pranešimo tyrimu, tokios klaidos lemia 12% visų kalbos klaidų.

Gramatinės klaidos, tokios kaip trūkstamų skliaustelių ar nesuderintų skliaustų, yra pagrindinės „JavaScript“ sintaksės klaidų priežastys.

Pvz., Kai turite naudoti sąlyginius teiginius, kad būtų išspręstos kelios sąlygos, galite praleisti pateikdami skliaustus, kaip reikalaujama, ir tai gali sukelti sintaksės trūkumus.

Pažvelkime į šį pavyzdį.

if ((x > y) && (y < 77) {
// daugiau kodo čia
}

Taip, trūksta paskutinio sąlyginio teiginio skliausto. Ar pastebėjote klaidą aukščiau esančiame kode?

Pataisykime tai.

if ((x > y) && (y < 77)) {
// daugiau kodo čia
}

Norėdami išvengti tokių sintaksės klaidų, turėtumėte skirti laiko išmokti „JavaScript“ programavimo kalbos gramatines taisykles. Taikydami didelę kodavimo praktiką, galite lengvai pastebėti gramatines klaidas ir vengti jų pateikimo naudodami savo sukurtą programą.

Netinkamas neapibrėžtų / niekinių raktinių žodžių vartojimas

Kai kurie „JavaScript“ kūrėjai nežino, kaip naudotis neapibrėžtas ir niekinis raktiniai žodžiai teisingi. Tiesą sakant, tyrimas pranešė, kad netinkamas raktinių žodžių vartojimas sudaro 5% visų „JavaScript“ klaidų.

niekinis raktinis žodis yra priskyrimo vertė, kuri paprastai priskiriama kintamajam reikšti neegzistuojančią reikšmę. Stebėtinai, niekinis taip pat yra „JavaScript“ objektas.

Štai pavyzdys:

var kodasJS = nulis;

console.log (codeJS);
// išvestis yra niekinė

console.log (tipo kodasJS);
// išėjimas yra objektas

Iš kitos pusės, neapibrėžtas nurodo, kad kintamajam ar bet kuriai kitai savybei, kuri jau buvo deklaruota, nėra priskirtos vertės. Tai taip pat gali reikšti, kad nieko nebuvo deklaruota. neapibrėžtas yra savotiškas tipas.

Štai pavyzdys:

var kodasJS;

console.log (codeJS);
// išvestis neapibrėžta

console.log (tipo kodasJS);
// išvestis neapibrėžta

Įdomu, jei lygybės ir tapatybės operatoriai yra įpratę lyginti niekinis ir neapibrėžtas raktinių žodžių, pastarasis jų nelaiko lygiaverčiais.

console.log (null == neapibrėžta);
// išvestis yra tiesa

console.log (null === neapibrėžtas);
// išvestis yra klaidinga

Todėl žinant, kaip teisingai naudoti niekinis ir neapibrėžtas raktiniai žodžiai gali padėti išvengti klaidų įvedimo į „JavaScript“ programas.

Neapibrėžti metodai

Kita dažna „JavaScript“ klaidų priežastis yra paskambinimas į metodą, nepateikus jo išankstinio apibrėžimo. UBC tyrėjai išsiaiškino, kad ši klaida lemia 4% visų „JavaScript“ klaidų.

Štai pavyzdys:

var coder = {
vardas: "Petras",
amžius: 27 metai,
kalbėti () {
console.log (this.name);
}
};
coder.speakNow ();

Štai ši klaida matoma „Chrome“ kūrėjų pulte:

Aukščiau pateikta klaida atsiranda todėl, kad vadinama funkcija „speakNow ()“ nebuvo apibrėžta „JavaScript“ kode.

Netinkamas grąžinimo deklaracijos panaudojimas

„JavaScript“ svetainėje grįžti teiginys naudojamas sustabdyti funkcijos vykdymą, kad būtų galima išvesti jos vertę. Jei klaidingai naudojamasi, grąžinimo deklaracija gali pakenkti optimaliam programų veikimui. Tyrimo duomenimis, neteisingai naudojant grąžinimo teiginį, „JavaScript“ programose susidaro 2% visų klaidų.

Pvz., Kai kurie „JavaScript“ programuotojai paprastai padaro klaidą, neteisingai sugadindami grąžinimo pareiškimą.

Nors „Java“ teiginį galite suskaidyti dviem eilutėmis ir vis tiek gauti reikiamą išvestį, sugrįžimo teiginio sulaužymas kviečia į jūsų programą nelaimę.

Štai pavyzdys:

funkcijos numeris (n) {
var pridėti = 5;
grįžti;
n + pridėti;
}
console.log (numeris (10));

Kai vykdomas aukščiau pateiktas kodas, „Chrome“ kūrėjų pulte pastebima neapibrėžta klaida:

Todėl turėtumėte atsisakyti lūžio grįžti teiginius „JavaScript“ kode.

Išvada

Kliento „JavaScript“ programavimo kalba turi puikias plačias galimybes, užtikrinančias šiuolaikinių žiniatinklio programų funkcijų naudojimą. Tačiau jei nesuprantate keiksmų, kurie verčia kalbą veikti, jūsų programų našumas gali būti sugadintas.

Be to, „JavaScript“ kūrėjai reikalauja universalių įrankių, skirtų jų programų našumui pašalinti ir greitai aptikti klaidas bei klaidas.

Todėl, naudodamiesi išsamiu testavimo įrankių rinkiniu, galite užtikrintai nustatyti anomalijas, kurios kenkia jūsų svetainės veikimui. Tai yra tai, ko jums reikia norint pagerinti svetainės našumą ir pasiekti optimalią vartotojo patirtį.

Laimingas „JavaScript“ programavimas be klaidų!

Straipsnį parašė Alfrickas Opidi

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map