JavaScripti funktsiooni defineerimata viga (KUID SEE ON MÄÄRATUD)

Javascripti Funktsiooni Defineerimata Viga Kuid See On Maaratud



JavaScriptis ' funktsioon pole määratletud ” on tavaline tõrge, mis ilmneb siis, kui programm proovib kasutada funktsiooni, mida pole praeguses ulatuses deklareeritud või määratletud. See tõrketeade võib olla segadusttekitav, kuna mõnikord on funktsioon koodis tegelikult määratletud, kuid see põhjustab siiski tõrke.

Selles artiklis kirjeldatakse JavaScripti 'funktsiooni pole määratletud viga', kui see on määratletud.

JavaScripti funktsiooni defineerimata viga (KUID SEE ON MÄÄRATUD)

Mõnikord on funktsioon koodis määratletud, kuid siiski võite silmitsi seista järgmise veaga:









Allpool on loetletud kaks peamist põhjust, miks ülaltoodud viga ilmneb pärast funktsiooni määratlemist.



Põhjus 1: funktsioon on valesti kirjutatud või suurtähtede kasutamine on vale

Mõnikord kutsutakse funktsiooni välja valede õigekirjadega. Kuna JavaScript on tõstutundlik keel, ei leidnud JavaScripti tõlk seda ja viskas ' funktsioon pole määratletud ” viga.





Näide

Esiteks määratleme funktsiooni ' summa ', mis tagastab kahe arvu summa' a ” ja „ b ”:

funktsiooni summa ( a, b ) {

tagasi a + b ;

}

Kutsuge funktsioon ' summa ” kui „ summa 'numbrite edastamisega' 4 ” ja „ 7 ”:



konsool. logi ( summa ( 4 , 7 ) )

See annab veateate ' summa pole määratletud ”:

Kuidas seda parandada?

Selle vea parandamiseks veenduge, et funktsiooni nimi on õigesti kirjutatud ja suurtähtede kasutamine on õige:

konsool. logi ( summa ( 4 , 7 ) ) ;

Nüüd on funktsioon ' summa ' on edukalt helistatud ja printige kahe numbri summa' 4 ” ja „ 7 ”:

2. põhjus: funktsioon on määratletud erineva ulatusega

JavaScriptis on igal funktsioonil oma ulatus ja funktsioon pääseb juurde ainult muutujatele ja funktsioonidele, mis on määratletud tema enda ulatuses. Kui funktsioon on määratletud erinevas ulatuses, ei pruugi see praegusele ulatusele juurdepääsetav olla, mille tulemuseks on ' funktsioon pole määratletud ” viga.

Näide

Määratlege funktsioon ' summa() 'kahe parameetriga' a ” ja „ b 'funktsiooni sees' print() ”:

funktsiooni printimine ( ) {

funktsiooni summa ( a, b ) {

konsool. logi ( a + b ) ;

}

}

Kutsuge funktsioon ' summa() ”:

summa ( 5 , 10 ) ;

See annab vea, kuna sum () on määratletud funktsiooni print () sees, kuid sellele pääseb juurde väljaspool ulatust:

Kuidas seda parandada?

Veenduge, et funktsioon on määratletud sobivas ulatuses ja sellele pääseb juurde sealt, kus seda kutsutakse. Näiteks kui funktsioon on määratletud mõnes teises funktsioonis, ei pruugi see olla väljastpoolt juurdepääsetav.

Pärast selle määratlemist kutsuge funktsiooni print() sees sum() välja:

funktsiooni printimine ( ) {

funktsiooni summa ( a, b ) {

konsool. logi ( a + b ) ;

}

summa ( 1 , 4 ) ;

}

Kutsu print() meetod:

printida ( ) ;

Väljund

Või saate funktsiooni ka eraldi määratleda ja kutsuda seda mõne teise funktsiooni ulatuses järgmiselt:

funktsiooni summa ( a, b ) {

konsool. logi ( a + b ) ;

}

Siin kutsume sum() funktsiooni print() sees:

funktsiooni printimine ( ) {

summa ( 5 , 10 ) ;

}

Funktsiooni käivitamiseks kutsuge print() meetod summa() ”:

printida ( ) ;

Kahe arvu summa ' 5 ” ja „ 10 ” on kuvatud:

Oleme arutanud JavaScripti põhjuseid ja lahendusi. funktsiooni defineerimata viga ” (aga see on määratletud).

Järeldus

On kaks peamist põhjust, miks funktsioon pole määratletud Pärast funktsiooni määratlemist ilmneb tõrge, näiteks ' funktsioon on valesti kirjutatud või selle suurtähtede kasutamine on vale ” või „ funktsioon on määratletud erinevas ulatuses ”. See artikkel määratles JavaScripti 'funktsiooni pole määratletud vea' põhjused ja lahendused (kuid see on määratletud).