JavaScript-toimintoa ei ole määritetty -virhe (MUTTA SE ON MÄÄRITELTY)

Javascript Toimintoa Ei Ole Maaritetty Virhe Mutta Se On Maaritelty



JavaScriptissä ' toimintoa ei ole määritelty ” on yleinen virhe, joka tapahtuu, kun ohjelma yrittää käyttää funktiota, jota ei ole ilmoitettu tai määritelty nykyisessä laajuudessa. Tämä virheilmoitus voi olla hämmentävä, koska joskus funktio on todella määritelty koodissa, mutta se silti johtaa virheeseen.

Tässä artikkelissa kuvataan JavaScriptin 'toimintoa ei ole määritetty -virhe', kun se on määritetty.

JavaScript-toimintoa ei ole määritetty -virhe (MUTTA SE ON MÄÄRITELTY)

Joskus toiminto on määritelty koodissa, mutta silti voit kohdata seuraavan virheen:









On kaksi pääsyytä, miksi yllä oleva virhe ilmenee funktion määrittämisen jälkeen, jotka on lueteltu alla:



Syy 1: Funktio on kirjoitettu väärin tai siinä on virheelliset isot kirjaimet

Joskus funktiota kutsutaan kirjoitusvirheillä. Koska JavaScript on isot ja pienet kirjaimet erotteleva kieli, JavaScript-tulkki ei löytänyt sitä ja heitti ' toimintoa ei ole määritelty ”virhe.





Esimerkki

Ensin määritämme funktion ' summa 'joka palauttaa kahden luvun summan' a ' ja ' b ”:

funktion summa ( a, b ) {

palata a + b ;

}

Kutsu toiminto ' summa ' kuten ' summa 'laskemalla numeroita' 4 ' ja ' 7 ':



konsoli. Hirsi ( summa ( 4 , 7 ) )

Se antaa virheilmoituksen ' summaa ei ole määritelty ':

Kuinka korjata se?

Korjaa tämä virhe varmistamalla, että funktion nimi on kirjoitettu oikein ja että isot kirjaimet ovat oikein:

konsoli. Hirsi ( summa ( 4 , 7 ) ) ;

Nyt toiminto ' summa ” on kutsuttu onnistuneesti ja tulosta kahden luvun summa” 4 ' ja ' 7 ':

Syy 2: Toiminto on määritelty eri soveltamisalalla

JavaScriptissä jokaisella funktiolla on laajuus, ja funktio voi käyttää vain muuttujia ja toimintoja, jotka on määritelty sen omassa laajuudessa. Jos funktio on määritelty eri laajuudessa, se ei ehkä ole käytettävissä nykyisessä laajuudessa, mikä johtaa ' toimintoa ei ole määritelty ”virhe.

Esimerkki

Määritä funktio ' summa() 'kahdella parametrilla' a ' ja ' b 'funktion sisällä' Tulosta() ”:

toimintotulostus ( ) {

funktion summa ( a, b ) {

konsoli. Hirsi ( a + b ) ;

}

}

Kutsu toiminto ' summa() ”:

summa ( 5 , 10 ) ;

Se antaa virheen, koska summa() on määritelty print()-funktion sisällä, mutta sitä käytetään laajuuden ulkopuolella:

Kuinka korjata se?

Varmista, että funktio on määritetty asianmukaisessa laajuudessa ja että sitä voidaan käyttää sieltä, missä sitä kutsutaan. Jos funktio on esimerkiksi määritetty toisen funktion sisällä, se ei välttämättä ole käytettävissä ulkopuolelta.

Kutsu summa() print()-funktion sisällä sen määrittämisen jälkeen:

toimintotulostus ( ) {

funktion summa ( a, b ) {

konsoli. Hirsi ( a + b ) ;

}

summa ( 1 , 4 ) ;

}

Kutsu print()-menetelmä:

Tulosta ( ) ;

Lähtö

Tai voit myös määrittää funktion erikseen ja kutsua sitä toisen funktion laajuudessa seuraavasti:

funktion summa ( a, b ) {

konsoli. Hirsi ( a + b ) ;

}

Tässä kutsumme sum()-funktiota print()-funktion sisällä:

toimintotulostus ( ) {

summa ( 5 , 10 ) ;

}

Kutsu print()-menetelmä suorittaaksesi toiminnon ' summa() ':

Tulosta ( ) ;

Kahden luvun summa' 5 ' ja ' 10 ' on näytetty:

Olemme keskustelleet JavaScriptin syistä ja ratkaisuista ' toimintoa ei ole määritelty virhe ” (mutta se on määritelty).

Johtopäätös

On kaksi tärkeintä syytä, miksi ' toimintoa ei ole määritelty ' -virhe tapahtuu funktion määrittämisen jälkeen, kuten ' funktio on kirjoitettu väärin tai isot kirjaimet ovat väärin ' tai ' toiminto on määritelty eri laajuudessa ”. Tässä artikkelissa määriteltiin syyt ja ratkaisut JavaScriptin 'funktiota ei määritetty -virheelle' (mutta se on määritelty).