Oi, na ou toe faia: Debugging masani sese i le JavaScript
O le tusiaina o le code JavaScript e mafai ona luitauina ma o nisi taimi e matua taufaamataʻu, e pei ona masani ai le tele o atinaʻe. I le faagasologa o galuega, e le maalofia le tulai mai o mea sese, ma o nisi o na mea e fai soo. O lenei tusiga, e faʻatatau i tagata atinaʻe fou, talanoa e uiga i nei mea sese ma auala e foia ai. Mo le manino, o igoa o galuega, meatotino ma mea faitino e aumai mai pese lauiloa. O nei mea uma e fesoasoani ia te oe e manatua vave ai pe faʻafefea ona faʻasaʻo mea sese masani.
Matou te faʻamanatu atu ia te oe:mo tagata faitau uma o le "Habr" - o se faʻaitiitiga o 10 rubles pe a lesitala i soʻo se vasega Skillbox e faʻaaoga ai le code promotional "Habr".
let girl = {
name: "Lucky",
location: "Hollywood",
profession: "star",
thingsMissingInHerLife: true,
lovely: true,
cry: function() {
return "cry, cry, cries in her lonely heart"
}
}
console.log(girl.named.lucky)
O le faʻataʻitaʻiga code o loʻo i luga e lafo ai le mea sese Uncaught TypeError: E le mafai ona faitau meatotino 'laki' o le le faʻamalamalamaina. O le fa’afitauli o le mea lea e leai se igoa o le teine, e ui lava e iai sona igoa. Ma talu ai o le teine.named meatotino e le o faʻamalamalamaina, e le mafai ona e mauaina, aua e le o iai. Ae afai e te suia le girl.named.lucky i le girl.name, ona aoga lea o mea uma ma toe foi mai le polokalame Lucky.
E mafai ona e aoao atili e uiga i meatotino faitau ii.
Auala e foia ai TypeErrors
TypeErrors e tupu pe a taumafai se tagata fai polokalame e fai taga i luga o faʻamaumauga e le fetaui ma se ituaiga patino. O faʻataʻitaʻiga e aofia ai le faʻaaogaina o le .bold(), ole atu mo se mea e le faʻamalamalamaina, poʻo le valaʻau i se galuega e le o se galuega.
O lea la, afai e te taumafai e valaʻau teine (), o le ae maua le mea sese Uncaught TypeError: yourVariable.bold e le o se galuega ma le teine e le o se galuega, aua o le mea moni o se mea e valaʻau, ae le o se galuega.
Ina ia faʻaumatia mea sese, e tatau ona e suʻesuʻeina fesuiaiga. O le a la le teine? O le a le igoa o le teine? E mafai ona e suʻeina e ala i le suʻeina o le code, faʻaalia fesuiaiga e faʻaaoga ai le console.log, le faʻatonuga o le debugger, poʻo le valaʻau i le igoa fesuiaʻi i le faʻamafanafanaga. E tatau ona e faʻamautinoa e mafai ona faʻaogaina le ituaiga faʻamatalaga o loʻo i totonu o le fesuiaiga. Afai e le fetaui, sui, mo se faʻataʻitaʻiga, faʻaopoopo se tulaga pe taumafai..puʻe poloka - ma maua le pule i le faʻatinoina o le taotoga.
Fa'aputu Masuasua
Afai e te talitonu i tusitala o upu o le pese Baby One More Time (o Britney Spears lenei, ioe), o lona uiga o le upu hit i lenei tulaga o lona uiga o le manaʻo o le tagata pese e toe valaʻau (o se faʻamatalaga lea o le uiga tonu o le tala. pese - fa'aliliu upu). Atonu o lenei manaoga o le a taitai atu ai i le faateleina o le numera o telefoni i le olaga moni. Ae i le polokalame, o se toe faʻafoʻi lea e mafai ona mafua ai se mea sese pe a faʻafefe le faʻaputuga telefoni.
O mea sese e pei o lenei:
Sese: E leai se avanoa fa'aputu (Edge)
Fa'aletonu i totonu: tele naua le toe fa'afo'i (Firefox)
RangeError: Ua sili atu le tele o le faaputuga telefoni (Chrome)
E tupu se fa'aputuga fa'aputu pe a le mafaufau le tagata fa'atupuina le mataupu faavae i le toe fa'afo'i, po'o le fa'ailoga e le fa'atatau i le mataupu na fa'amoemoeina.
function oneMoreTime(stillBelieve=true, loneliness=0) {
if (!stillBelieve && loneliness < 0) return
loneliness++
return oneMoreTime(stillBelieve, loneliness)
}
I lenei tulaga, stillBelieve e le mafai lava ona sese, o lea o le a valaauina oneMoreTime i taimi uma, ae o le galuega e le mafai lava ona maeʻa.
Afai e te amata faʻalagolago i ni uo se toʻalua, o le a faʻaitiitia ai le tuulafoaiina, ma e te le tau faʻatali mo se telefoni.
function oneMoreTime(stillBelieve=true, loneliness=0) {
if (!stillBelieve && loneliness < 0) return
loneliness--
stillBelieve = false
return oneMoreTime(stillBelieve, loneliness)
}
O se faʻataʻitaʻiga o mataupu ma faʻamaufaʻailoga e le iʻu, pe a le faʻatupuina e le faiga se feʻau sese, ae o le itulau o loʻo faʻatinoina ai le code JavaScript e naʻo le malolo. E tupu lenei mea pe a leai se tulaga fa'amutaina o le while loop.
let worldEnded = false
while (worldEnded !== true) {
console.log("Keep on dancin' till the world ends")
}
E mafai ona e foia le faafitauli e pei ona taua i lalo:
let worldEnded = false
while (worldEnded !== true) {
console.log("Keep on dancin' till the world ends")
worldEnded = true
}
Debugging matasele e le gata ma recursions
Afai ei ai sau faʻafitauli e le iʻu, e tatau ona e tapuni le faʻamau i Chrome poʻo Edge, ma tapuni le faamalama o le suʻesuʻega i Firefox. A maeʻa lenei mea, e tatau ona e suʻesuʻeina ma le faʻaeteete le code. Afai e le mafai ona e mauaina le faʻafitauli, e aoga le faʻaopoopoina o se faʻatonuga o le debugger i lau matasele poʻo lau galuega ma siaki le tau o fesuiaiga. Afai o le taunuuga e le fetaui ma le mea na faamoemoeina, ona tatou suia lea, e mafai ona faigofie.
I le faʻataʻitaʻiga o loʻo i luga, e tatau ona faʻaopoopo le debugger o le laina muamua o le galuega poʻo le matasele. Ona e manaʻomia lea e tatala le debug tab i le Chrome, suʻesuʻeina suiga i le lautele. I le fa'aogaina o le isi fa'amau e mafai ona e siakia latou suiga i fa'amatalaga ta'itasi. O nei mea uma e faigofie ona fai, ma i le tele o tulaga e maua ai le faʻafitauli.
E mafai ona e faitau atili e uiga i nei mea uma iinei (mo Chrome) ma iinei (mo Firefox).
Syntax sese
O se tasi o mea sili ona taatele i le JavaScript o le SyntaxError. O fa'aopoopoga fa'atonu tusitusiga o le a fesoasoani ia te oe e aloese mai ai. Mo se faʻataʻitaʻiga, Bracket Pair Colorizer faʻailoga puipui i le code ma lanu eseese, ma Prettier poʻo se mea faigaluega suʻesuʻe tutusa e mafai ai ona vave maua mea sese. Ole filifiliga sili e fa'aitiitia ai le fa'ailoga ole SyntaxError ole fa'anofo la'ititi.
Faasoa i faʻamatalaga: o le a lau mea e fai e puipuia ai mea sese pe vave iloa ma faʻaumatia?