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:
- Funktio on kirjoitettu väärin tai siinä on väärät isot kirjaimet.
- Toiminto on määritelty eri laajuudessa.
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).