TypeErrors tshwm sim thaum tus programmer sim ua cov yeeb yam ntawm cov ntaub ntawv uas tsis phim ib hom tshwj xeeb. Piv txwv suav nrog kev siv .bold(), nug txog cov cuab yeej uas tsis tau teev tseg, lossis hu rau lub luag haujlwm uas tsis yog lub luag haujlwm tiag tiag.
Yog li, yog tias koj sim hu rau tus ntxhais (), koj yuav tau txais qhov yuam kev Uncaught TypeError: yourVariable.bold tsis muaj nuj nqi thiab tus ntxhais tsis muaj nuj nqi, vim tias nws yog qhov khoom hu ua, tsis muaj nuj nqi.
Txhawm rau tshem tawm qhov yuam kev, koj yuav tsum kawm txog qhov hloov pauv. Yog li ntawd, tus ntxhais yog dab tsi? yog girl.named? Koj tuaj yeem tshawb pom los ntawm kev txheeb xyuas cov cai, tso tawm qhov hloov pauv siv console.log, cov lus txib debugger, lossis hu rau lub npe sib txawv hauv lub console. Koj yuav tsum xyuas kom meej tias nws muaj peev xwm ua haujlwm ntawm cov ntaub ntawv hom muaj nyob rau hauv qhov sib txawv. Yog tias nws tsis haum, hloov nws, piv txwv li, ntxiv ib qho mob lossis sim..catch thaiv - thiab tau txais kev tswj hwm ntawm kev ua haujlwm.
Txheej Overflow
Yog tias koj ntseeg tias cov neeg sau cov nkauj rau zaj nkauj Baby One More Time (qhov no yog Britney Spears, yog lawm), ces lo lus ntaus hauv cov ntsiab lus no txhais tau hais tias tus neeg hu nkauj lub siab xav hu dua (ntawm no yog ib qho kev piav qhia ntawm lub ntsiab lus ntawm lub ntsiab lus. nkauj - tus txhais lus). Nws yuav zoo yog tias qhov kev ntshaw no yuav ua rau muaj kev hu xov tooj ntau ntxiv hauv lub neej tiag tiag. Tab sis hauv kev ua haujlwm, qhov no yog qhov rov ua dua uas tuaj yeem ua rau muaj kev ua yuam kev yog tias hu rau pawg overflows.
Qhov yuam kev zoo li no:
yuam kev: Tawm ntawm qhov chaw pawg (Edge)
InternalError: ntau dhau rov qab (Firefox)
RangeError: Ntau tshaj qhov hu ua pawg loj tshaj (Chrome)
Ib pawg overflow tshwm sim yog tias tus tsim tawm tsis xav txog lub hauv paus rooj plaub hauv kev rov ua dua, lossis yog tias tus lej tsis hais txog qhov xwm txheej xav tau.
function oneMoreTime(stillBelieve=true, loneliness=0) {
if (!stillBelieve && loneliness < 0) return
loneliness++
return oneMoreTime(stillBelieve, loneliness)
}
Nyob rau hauv rooj plaub no, stillBelieve yeej tsis muaj tseeb, yog li oneMoreTime yuav raug hu txhua zaus, tab sis cov haujlwm yuav tsis ua tiav.
Yog tias koj pib tso siab rau ob tus phooj ywg, qhov no yuav txo qis kev kho siab, thiab koj yuav tsis tas tos hu.
function oneMoreTime(stillBelieve=true, loneliness=0) {
if (!stillBelieve && loneliness < 0) return
loneliness--
stillBelieve = false
return oneMoreTime(stillBelieve, loneliness)
}
let worldEnded = false
while (worldEnded !== true) {
console.log("Keep on dancin' till the world ends")
}
Koj tuaj yeem daws qhov teeb meem raws li hauv qab no:
let worldEnded = false
while (worldEnded !== true) {
console.log("Keep on dancin' till the world ends")
worldEnded = true
}
Debugging infinite loops thiab recursions
Yog tias koj muaj qhov teeb meem tsis kawg, koj yuav tsum kaw lub tab hauv Chrome lossis Edge, thiab kaw qhov browser qhov rai hauv Firefox. Tom qab no, koj yuav tsum ua tib zoo txheeb xyuas cov cai. Yog tias koj tsis tuaj yeem pom qhov teeb meem, nws tsim nyog ntxiv cov lus txib debugger rau koj lub voj lossis kev ua haujlwm thiab xyuas cov txiaj ntsig ntawm qhov sib txawv. Yog tias qhov tshwm sim tsis sib haum rau qhov xav tau, ces peb hloov nws, qhov no tuaj yeem ua tau yooj yim.
Hauv qhov piv txwv saum toj no, debugger yuav tsum tau ntxiv ua thawj kab ntawm kev ua haujlwm lossis lub voj. Tom qab ntawd koj yuav tsum qhib qhov debug tab hauv Chrome, txheeb xyuas qhov hloov pauv hauv qhov ntsuas. Siv lub pob tom ntej koj tuaj yeem taug qab lawv cov kev hloov pauv ntawm txhua qhov iteration. Tag nrho cov no yog qhov yooj yim ua, thiab feem ntau qhov teeb meem tau pom.
Koj tuaj yeem nyeem ntxiv txog txhua yam ntawm no (rau Chrome) thiab ntawm no (rau Firefox).